【问题标题】:Updating "tr" data in laravel在 laravel 中更新“tr”数据
【发布时间】:2016-08-02 16:17:36
【问题描述】:

我在完成这项任务时遇到了困难: - 我有一个表,每行都有一个添加删除,更新按钮我通过根据行的数据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;');
});

我只是需要帮助来找到一种方法来对每一行进行更新查询。

【问题讨论】:

  • 添加截图。
  • 好的,我看不出问题出在哪里?是在前端,点击编辑按钮时不知道在代码中做什么,还是在后端?你能提供更多细节和一些代码吗?
  • 我可以为每个获取用户保存 id 的 tr 添加类,然后在运行 ajax ('.ID-USER').serialize() 时?

标签: laravel laravel-5 eloquent


【解决方案1】:
//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');

希望有所帮助

【讨论】:

  • laravel 如何识别输入项?用户正在用多个值更新一整行,你能解释一下发生了什么吗?
  • 在你的行中,每一列都有一个输入,你可能会给它一个自定义属性,如 data-update 并带有来自你的控制器的值,然后你可以在你的 JS 中访问它并传递这些值到data AJAX 数组。此外,每个tr 都可以被赋予一个自定义属性来识别哪个正在被更新
  • 我可以为每个获取用户保存 id 的 tr 添加类,然后在运行 ajax ('.ID-USER').serialize() 时?
  • 我现在正在处理它并给你我的更新,谢谢!
  • 没来过这里。不知道你的意思不好用。最好不要在此处发布您的代码,而不是图片。这样,可以帮助您了解您做错了什么
猜你喜欢
  • 2018-06-30
  • 1970-01-01
  • 2019-02-01
  • 2015-04-16
  • 2021-10-02
  • 2016-03-07
  • 2021-10-03
  • 2017-04-04
  • 1970-01-01
相关资源
最近更新 更多