2

HTML で次のような入力を生成します。

<input id='estemated_days' type='text' data-id='717' value='6'>

<select id='elements_grade' data-id='717'>
 <option value='1'></option>
 <option value='2'></option>
 <option value='3'></option>
</select>

<input id='estemated_days' type='text' data-id='718' value='4'>

<select id='elements_grade' data-id='718'>
 <option value='1'></option>
 <option value='2'></option>
 <option value='3'></option>
</select>

私は一度に約10個生成しますが、例として2つを示します。jQueryを使用して外部PHPファイルに複数の入力値をPOSTするにはどうすればよいですか? 以前は、投稿データを送信するときにこのようなものを使用していましたが (以下のコードを参照)、これは ID を持つ単一のフィールドに対してのみ機能するようです - 生成されたデータベースではありませんdata-id

//Initiate function when user clicks save
$("#save_courseplan").click(function() {

//Store the values of the fields as variables
var elements_grade = $('#elements_grade').val();
var estemated_days = $('#estemated_days').val();


$.post('../update.php', {

    estemated_days: estemated_days, //This for example will now represent 6
    elements_grade: elements_grade //And this 1

    }, function(data) {
    $('#updatestatus').html(data); //Display what update.php echoes out
 });
});

編集

OK 私はかなり明確ではなかったと思います。inputフィールドを動的に作成しました。これらのフィールドにはdata-id、MySQL データベースからフェッチされたものがあります。

データベースは次のようになります。

+------------+------------+
| scpe_id    | scpe_days  |
+------------+------------+
| 717        | 6          |
+------------+------------+
| 718        | 4          |
+------------+------------+

以前、このスレッドで以前に投稿した jQuery コードを使用して、含まれる値に基づいて単一のフィールドを更新することに成功しました。1 つの ID には値が含まれています。この値はファイル$_POSTupdate.php保存され、データベースに挿入されます。

ただし、それぞれ異なるデータベース ID で複数の行を一度に更新する必要があるため、ID を使用できません。

だから私が望むのは、最初に の値をフェッチして、data-idどの行を更新するかを知り、次に保持する値をフェッチして、何を挿入するかを知ることです。次に、 ごとに繰り返します<input>

4

1 に答える 1

3
var queryString = $('form').serialize();

終わり。

ノート:

  • すべてのフォーム要素がフォーム要素内にあることを確認してください。
  • すべてのフォーム要素にはname属性が必要です。

serializeドキュメント

最終的なコードは次のとおりです。

$.post('../update.php/?' + queryString, function(data) {
    $('#updatestatus').html(data);
});
于 2012-06-17T17:32:51.833 に答える