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 个,但以两个为例。如何使用 jQuery 将多个输入值发布到外部 PHP 文件?以前我在提交帖子数据时使用过类似的东西(见下面的代码),但这似乎只适用于具有 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
 });
});

编辑

好的我不认为我很清楚。我已经动态创建了input字段。这些字段有一个data-id是从 MySQL 数据库中获取的。

数据库看起来像这样:

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

以前,我已经成功地根据它包含的值更新了单个字段,使用我之前在这个线程中发布的 jQuery 代码。一个 ID 包含一个值,这个值被$_POST发送到我的update.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 回答