我在完成这项任务时面临困难: - 我有一个表,每个行都有一个添加删除,更新按钮我通过根据行的数据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)
//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', 'YourController@update');
希望有帮助