我在表中有数据列表,并且正在使用dataTable插件进行分页。

但是,我的最后一列是链接。当我转到第二页时,无法单击链接,但是该链接仅在表格的第一页上打开。

当我没有数据表时,所有链接的工作都没有,但是那时候我添加了它,却没有工作...

我的代码:

 <table id="PartsResultListGrid" class="table table-striped table-bordered">
    <thead>
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.PartsRequestOrderNum)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Call_Num)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.DetailView)
            </th>

        </tr>
    </thead>

    <tbody>
        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.PartsRequestOrderNum)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.Call_Num)
                </td>

                <td>
                    <div data-callno='@item.PartsRequestOrderNum' data-url="@Url.Action("GetPartsInfo", "Parts")">
                        <div class="PartsViewSubmit toolbarIcon">
                            <div class="toolbarIconText">View</div>
                        </div>
                    </div>
                </td>
            </tr>
        }
    </tbody>

</table>


Javascript:

<script type="text/javascript">
$(document).ready(function () {
    $('#PartsResultListGrid').dataTable({
        "bSort": false,
    });
});
</script>


知道为什么会这样吗?

我里面的ajax链接打开了链接:

        $('.PartsViewSubmit').click(function () {
        $.ajax({
            type: "GET",
            url: $(this).parent().data("url"),
            data: { PartsRequestOrderNum: $(this).parent().data("callno") },
            success: function (data) {
                $("#PartsDetail").html(data);
            },
        });
    });

最佳答案

您需要使用delegated event


  委派事件具有可以处理以下事件的优势:
  后继元素添加到文档中的子元素。通过
  选择一个保证在当前时间存在的元素
  附加了委托事件处理程序,您可以使用委托事件来
  避免需要频繁附加和删除事件处理程序。


因此,在您的情况下,我改为这样做:

$(document.body).on('click', '.PartsViewSubmit', function() {
    $.ajax({
        ...
    });
});

10-04 22:17