Javascript 在ajax上发送多个输入
我有一个表格,在那里我得到了一组记录,在出现之后如下所示:Javascript 在ajax上发送多个输入,javascript,jquery,ajax,laravel,laravel-5,Javascript,Jquery,Ajax,Laravel,Laravel 5,我有一个表格,在那里我得到了一组记录,在出现之后如下所示: <input name="position" id="nameText" step-id="3" type="number" value="1" class="form-control stepinput"> <input name="position" id="nameText" step-id="4" type="number" value="2" class="form-control stepinput"
<input name="position" id="nameText" step-id="3" type="number" value="1" class="form-control stepinput">
<input name="position" id="nameText" step-id="4" type="number" value="2" class="form-control stepinput">
<input name="position" id="nameText" step-id="5" type="number" value="3" class="form-control stepinput">
难以阅读,但如果我理解正确,请:
- 有3个数字输入
- 希望在数据库中更新输入的值
- 使用“步骤id”标识要更新的步骤
$("button.update-positions").on("click",function(event) {
event.preventDefault();
var form = $(this).closest(".steps-form");
var map = {};
$(".stepinput").each(function(index,value) {
map[$(this).data("stepid")] = value.value;
});
console.log(map); // Your map object
});
不能有两个具有相同ID的元素,如果要传递这样的信息,则应使用数据属性。不应对不同的元素使用相同的ID。您有3个具有相同ID和名称的不同输入。在做任何事情之前,都必须先解决这个问题一旦解决了输入问题,就可以使用jquery serialize,只需按原样序列化它,然后在服务器上以数组的形式接收
位置
值。不需要step-id。
$("button.update-positions").on("click",function(event) {
event.preventDefault();
var form = $(this).closest(".steps-form");
var map = {};
$(".stepinput").each(function(index,value) {
map[$(this).data("stepid")] = value.value;
});
console.log(map); // Your map object
});