数据表如何将数据从输入传递到控制器

时间:2017-12-30 19:10:12

标签: php jquery ajax laravel datatable

在datatable中,我为每一行输入一个输入,我想在此输入中添加一些文本,对于每个输入我想要获取文本并将其保存到数据库中 我正在使用laravel并想使用ajax 现在它只适用于第一个输入,但对于我写的第二个输入它将采用第一个输入文本

输入字段:

{data: 'vendor_id',mRender: function (data, type, row) {                   
    return '<label hidden>'+data+'</label> <input type="text" id="vendor_name" class="vendor_name" data-id="'+row.id+'" onClick="this.select();" value="'+data+'">';}
},

{data: 'vendor_no', mRender: function (data, type, row) {                   
    return '<label hidden>'+data+'</label> <input type="text" id="vendor_no" class="vendor_no"  onClick="this.select();" value="'+data+'">';}
},

ajax将变量发送到控制器

<script type="text/javascript">
    $(document).on('blur focusout', "#vendor_name", function(){
        var id = $(this).data("id");
        $.ajax({
            type: 'POST',
            url: 'Vendor_Save',
            data: {
                '_token': $('input[name=_token]').val(),
                'currentid': id,
                'current_vendor_name':$('#vendor_name').val(),
              },
            success: function(data) {
                console.log(data);
            }
        });
    });
</script>

1 个答案:

答案 0 :(得分:0)

由于ID必须是唯一的...而是使用该类,您需要事件发生的类实例的值。

$(document).on('blur focusout', ".vendor_name", function(){
                                // ^^ class selector
    var id = $(this).data("id");
    $.ajax({
        type: 'POST',
        url: 'Vendor_Save',
        data: {
            '_token': $('input[name=_token]').val(),
            'currentid': id,
            'current_vendor_name':$(this).val(),// `this` is current instance
          },
        success: function(data) {
            console.log(data);
        }
    });
});