在ajax上发送多个输入

时间:2017-02-27 19:11:07

标签: 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="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()

            });

        })

1 个答案:

答案 0 :(得分:-1)

难以阅读,但如果我理解正确的话:

  • 有3个数字输入
  • 希望输入的值在数据库中更新
  • 使用“step-id”来确定要更新的内容

如果是,请用 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的元素,如果你想传递这样的信息,你应该使用数据属性。