【发布时间】:2012-06-19 20:42:34
【问题描述】:
我在 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
});
});
编辑
好的,我想我不是很清楚。我已经动态创建了inputfields。这些字段有一个 data-id ,它是从 MySQL 数据库中获取的。
数据库如下所示:
+------------+------------+
| scpe_id | scpe_days |
+------------+------------+
| 717 | 6 |
+------------+------------+
| 718 | 4 |
+------------+------------+
以前,我已经成功地使用我在此线程中之前发布的 jQuery 代码根据它包含的值更新了单个字段。一个 ID 包含一个值,该值将 $_POST 发送到我的 update.php 文件,然后插入到数据库中。
现在,但是我不能使用 ID,因为我需要一次更新多行,每行都有不同的数据库 ID。
所以我想要的是首先获取data-id 的值,以了解要更新的行,然后获取它持有的值以了解要插入的内容 - 然后对每个<input> 重复。
【问题讨论】:
-
你试过serialize()的方法吗?
-
@undefined。还不够,他还要给所有的元素一个name属性。如您链接的文档中所述。
-
@gdoron 你是对的,当然。