【问题标题】:X-Editable re-enable after partial re-render部分重新渲染后重新启用 X-Editable
【发布时间】:2017-06-30 12:29:52
【问题描述】:

我在一个 laravel 刀片上有下表,它使用 x-editable 来更新它的一些字段(注意,这是我的第一个 PHP 项目,所以如果有更好的方法,请分享):

    <table id="LinksTable" class="table table-bordered">
        <thead>
            <tr>
                <th>Display</th>
                <th>Link Display Name</th>
            </tr>
        </thead>
        <tbody>
        <?php $link_settings = Link_setting::whereNotNull('link_address')->get();?>
            @foreach($link_settings as $link_setting)
            <tr id="linkRow.{{$link_setting->id}}">
                <td hidden="true">{{$link_setting->id}}</td>
                <td><input id="linkD.{{$link_setting->id}}" name="is_displayed"
                    checked="{{$link_setting->is_displayed}}"
                    onChange="OnDisplayChange(this)" type="checkbox"></td>
                <td><a href="#" class="listEdit" data-type="text"
                    data-column="display_name" data-url="./link_settings/update"
                    data-pk="{{$link_setting->id}}" data-title="change"
                    data-name="display_name">{{$link_setting->display_name}}</a>
                </td>
            </tr>
            @endforeach
        </tbody>
    </table>

这第一次渲染很好,我可以编辑任何行上的显示名称,并正确更新数据库。 我的问题是我有一个“添加”按钮,可以在数据库中创建一个新对象。添加后,我需要重新加载表格才能显示该条目。

function RefreshTable() {
    $('.listEdit').editable("destroy");
    $( "#linksTableMainDiv" ).load(location.href + " #LinksTable");
    $('.listEdit').editable();
}

表格重新渲染正常,但 x-editable 中断,没有我可以找到的错误。

【问题讨论】:

    标签: javascript php laravel x-editable


    【解决方案1】:

    对于遇到此帖子的任何人,我最终都对其进行了修改以通过 javascript 添加一行,而不是重新加载表格。添加 $('.listEdit').editable();在 table.appendChild(row) 之后启用新行中的所有可编辑字段。将 data-pk=0 分配给每个,并作为更新控制器的一部分,返回 id。然后,我在可编辑功能成功后更新行的 data-pk 元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-11
      • 2012-11-17
      • 1970-01-01
      • 1970-01-01
      • 2012-12-11
      • 1970-01-01
      相关资源
      最近更新 更多