2010-11-18 9 views
0

これは簡単なはずですが、いくつかのライブラリ(jqueryが好んでいます!)と普通の古いjavascriptをブラウズした後、私は空白を描いています。フォームの値に応じてフォーム送信ボタンを動的に変更しますか?

つまり、3つの編集ボックス、2つのタイプのプリペイド、たとえばチーズとピクルス、1つの数字用の空白のボックス、右側の送信ボタンなどがあります。 n回の行を繰り返します。

別の言い方をすると: 検索結果から一連の行として表示されるフォームを想像してみてください。 8つの結果があるとします.8行です。ユーザーは選択肢を100個の「スロット」に保存できます。 各行に名前や文字を付けることは簡単です。私はちょうど各送信ボタンに1から8の数字を呼び出し、6を押すと、それは保存したい行6であることがわかります。これはMalsupのjqueryフォームを使ってajaxy形式でフォームを送信するので、毎回フォームを更新する必要はありません。

しかし、結果が保存される「スロット」を自由に選択することはできません。送信ボタンを左にあるセルの数字に反映させることができたら、私は離れています。

しかし、私はできないので、私はそうではありません。そして、私はそのようなナンセンスなことをする唯一の人だと思われます。 もっと良い方法ですか?

+0

送信ボタンにこれを反映させる必要があるとしたら、送信ボタンの名前をインスタンス名といいますか?つまり、コードで取り上げることができますか? – Orbling

+0

「6」を押したことが分かっていれば、6行目の3番目の編集値も取得できます。その編集にスロット番号が含まれている場合は、その番号を使用して行を保存することができます。私は問題を見ていないが、多分それは私がその質問を理解していないからだ。 – GolezTrol

答えて

1

送信ボタンがボタン要素であるとします。

$('table').delegate('button', 'click', function(e) { 

    var formData = {} 

    $(this).closest('tr').find('input').each(function() { 
    formData[this.name] = this.value; 
    }); 

    //Add in your code to ajax it off... 

    e.preventDefault(); //since buttons/submits behave differently in each browser. 

}); 

//これでオブジェクト内にすべてのformDataが作成されました。あなたのAjaxの事を介してそれを送ってください。

+0

こんにちは。これを答えにするのはずっとかかりました。個人的なものが上がった。それが起こると、私はこの場合私のために上記のことをすることはできませんでしたが、コードのほんの少しがjQueryでできることについての3つのヒントを教えてくれて、ページの他の部分でビットを使用しました。だから、ありがとう! – talkingnews

+0

問題はありません。私はjQueryの知識を共有できるとうれしいです! –

関連する問題