我有一个表单,我可以获得一系列记录,并在出现后显示如下:
<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">
值是稍后对记录进行排序,“step_id”属性是通过ajax发送来更新特定记录,但我的数据看起来不太好。这是将我的数据发送到控制器以便以后更新记录的最佳方式
我目前的代码:
$('button.update-positions').on('click', function(event){
event.preventDefault();
var form = $(this).closest(".steps-form");
var map = {};
$(".stepinput").each(function() {
map[$(this).attr("step-id")] = $(this).val()
});
})
答案 0 :(得分:-1)
难以阅读,但如果我理解正确的话:
如果是,请用 data-stepid =“”替换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
});
你不能拥有2个具有相同ID的元素,如果你想传递这样的信息,你应该使用数据属性。