2016-08-02 60 views
0

Here is my code enter image description here更新“TR”数据laravel

我现在面临的困难在做这个任务: - 我有一个表,有添加删除,为每一个行更新按钮,我已经做了根据行的数据ID为每个按钮添加数据属性来添加和删除数据。它适用于删除和插入元素。但我找不到更新每一行的方法,所以我需要帮助!

注意:我正在使用Ajax更新我的元素。

任何策略?我可以发布我的代码/视图的截图,因为它有点太长。

更多解释:当你点击编辑按钮$(this)并且删除按钮隐藏,并且检查按钮出现。输入不再隐藏在这一行,所以用户更新这一行的数据,然后他检查它。 数据必须在数据库内更新。 我被卡住了,因为每一行都有它自己的id和它自己的值,并且每个行只有一个查询必须运行(这是所有行的相同查询)。整个表更新可能只有一个表格只更新必须更新的行。

你后点击编辑按钮

$(document).on('click', '.btn-edit-interview', function() { 

    var id = $(this).attr('data-interview-id'); 
    var selector = ('' + '.tr' + id + ''); 
    var selectordelt = ('' + '.' + id + ''); 
    var selectorsave = ('' + '#save-'+id + ''); 
    $(this).hide(); 
    $(selectordelt).hide(); 
    $(selectorsave).show(); 
    $(selector).prop('disabled', false); 
    $(selector).addClass("form-control"); 
    $(selector).css('border: 1px solid rgb(204, 204, 204);margin-top: 16px;'); 
}); 

我只需要找到一种方法让你的每一行更新查询帮助。

+0

添加的屏幕截图。 –

+0

好的,我没有看到问题出在哪里?点击编辑按钮时是否在代码中不知道该怎么做的前端,或者是否在后端?你能提供更多细节和一些代码吗? –

+0

我可以为每个tr添加类,它接受用户的保存ID,然后运行ajax('.ID-USER')。serialize()? –

回答

0
//HTML 


<tr data-unique="{!! $yourVariable->id !!}"> 

<td><input value="{!! $yourVariable->value !!}"></td> 

    <td><button data-update="{!! $yourVariable->id !!}">Update</button></td> 
</tr> 


//AJAX 



$('button[data-update]').click(function() { 
     var itemID = $(this).attr('data-update'); 

     //Will contain value of input in that tr only 
     var input = $('tr[data-unique="+itemID+"] input').val(); 

     $.ajax({ 
      url: '/update', 
      type: 'POST', 
      dataType: 'json', 
      data: {item: itemID, anotherValue: input}, 
      success:function(data){ 
        if(data['status'] == "success"){ 
        alert("Updated"); 
        } 
      } 
    }); 

    return false; 
}); 



//Controller 
public function update(Request $req){ 

    YourModel::where('id', $req->input('item'))->update(['column' => 'value']); 

    return response()->json(['status' => 'success']); 
} 

//Route 

Route::post('/update', '[email protected]'); 

希望能够帮助

+0

laravel如何识别输入项目?用户正在用多个值更新整行,请你能解释更多发生了什么? –

+0

在你的行中,每一列都有一个输入,你可能会给它一个像'data-update'这样的自定义属性和你的控制器的值,然后你可以在你的JS中访问它,并将这些值传递给'data'数组的AJAX。每个'tr'都可以被赋予一个自定义属性来标识哪一个被更新 – Michel

+0

我可以为每个接受用户保存ID的tr添加类,然后在运行ajax('.ID-USER')时添加类。 serialize()? –