jQuery的数据表中未从第二页开始工作(jquery data table not working

2019-08-31 15:33发布

我使用jQuery的数据表1.9.4和jQuery 1.9.1,我试图在单击事件像这样进行Ajax调用。

$(".icon-trash").on('click',function () {
                // alert($(this).attr('id'));
                $.post('/WorkOrderRequest/DeleteWOR',
                        { id: $(this).attr('id') },

                        function (returndata) 
                        {

                            if (returndata.ok) 
                            {
                                window.alert(' deleted!');
                                $("#emp" + idemployee).hide('slow');
                            }
                            else {
                                window.alert(' error : ' + returndata.message);
                            }

                    });

            });

HTML的一部分:

@foreach (var item in Model)
                    {

                        <tr>
                            <td>
                                @Html.DisplayFor(modelItem => item.ProjectCode)
                            </td>
                            <td>
                                @Html.DisplayFor(modelItem => item.WO_Date)
                            </td>


                            <td>
                             <a  id='@(item.WO_ID)' class="icon-edit" />
                               |                               
                             <a  id='@(item.WO_ID)' class="icon-trash" />
                           </td>
                        </tr>
                    }

这是工作的罚款第一页上,但是从第二页它没有显示任何结果。 请帮忙

Answer 1:

方式分页的作品,不需要由当前页面行从DOM中删除。 因此,你直接绑定到这些元素的任何事件处理程序,当HTML被删除丢失。

您需要使用的语法代表团on()的处理程序绑定到页面的资产是永久性的。 这可能是父表或任何其他父母了树,包括document

$('#TableID').on('click','.icon-trash',function () {...

API参考: http://api.jquery.com/on/



Answer 2:

如果你只是把上面的点击事件代码datatable中的代码js ,它会正常工作。

作为例子。

$(".icon-trash").on('click',function () {});

$("#TableID").datatable();


Answer 3:

我有同样的问题,我通过移动下面的代码后,我在其他代码中调用解决它。

$('#yourTable').dataTable();

希望这将帮助别人。



Answer 4:

这是一个老问题,但我面临同样的问题,调用JS后的数据表(以下通过脚本)点击事件解决它。

$('#tableId').dataTable();



Answer 5:

我使用yajra数据表+ laravel集合。 我花了我的时间几乎约2-3小时调试,发现这个解决方案如下。

去掉引号的字符串形式pageLength参数,这将节省您的时间。



文章来源: jquery data table not working from second page