【问题标题】:JavaScript runtime error during DataTables rowReordering (ASP.Net MVC)DataTables rowReordering 期间的 JavaScript 运行时错误(ASP.Net MVC)
【发布时间】:2023-03-31 06:24:01
【问题描述】:

我正在使用下面的 jQuery 来初始化DataTables

<script type="text/javascript">
    $(document).ready(function() {
        $('#GenderIndex').dataTable().rowReordering({ sURL: "/GenderDD/UpdateRow" });
    });
</script>

在拖放(重新排序)期间,我收到以下错误消息:

0x800a139e - JavaScript 运行时错误:语法错误,无法识别 表达式:#

你可以找到rowReordering插件Here


  1. 我真的不明白这个错误信息

  2. 有没有人用过rowReordering 和最新的DataTables 版本?

【问题讨论】:

    标签: javascript c# jquery asp.net-mvc datatables


    【解决方案1】:
    1. 错误“无法识别的表达式:#”表示您没有定义索引列。 RowReordering 插件需要一个具有唯一编号的列,它可以填充到&lt;tr&gt;'s 作为id's 然后用于区分行。您没有这样的列,因此此插件尝试执行没有 id - $("#")#id 选择器。

    2. 如果您想在 dataTables 1.10.x 中进行 RowReordering,则需要使用新的 RowReorder 插件 -> http://cdn.datatables.net/#RowReorder 在此处进行操作 -> http://jsfiddle.net/006d4of9/。新的更好的插件更灵活,但仍然需要一个索引列 - 但是,如果您忘记定义一个索引列,它不会引发错误。

    【讨论】:

    • 感谢大卫的完整解释。我会非常乐意使用 RowReorder 插件,但我找不到任何关于如何添加上述操作方法 URL 的示例。我需要重新排序,然后还要更新数据库。例如,如果某一行的索引号为 2,但现在它已移至 3,则应以这种方式保存。
    • 你可以监听row-reorder事件,通过它你可以知道被移动的行并调用服务器端脚本 -> jsfiddle.net/0f9Ljfjr
    • 你说调用服务器端脚本恐怕我不太明白。因为我不知道我应该如何调用那个 URL。我可以在您的示例中看到,每次移动后都会出现一个提示窗口,但是如何保存这些更改?我对 jQuery 很陌生,特别是在将服务器端连接到 jQuery 时。
    • @CodeMaster - 使用$.ajax 并将dragevent data 传递为data,就像在这个方案中一样-> jsfiddle.net/0f9Ljfjr/659 - 在服务器端解包data,你就拥有了所有的信息,看到这个资源 -> encosia.com/…
    • 我相信我迷路了。您的方法需要返回 JSON,但我当前的操作方法没有参考返回 JSON 数据...您的答案很棒,毫无疑问,但我对此有点困惑...
    猜你喜欢
    • 1970-01-01
    • 2014-01-08
    • 2011-06-26
    • 2021-01-20
    • 2021-12-14
    • 1970-01-01
    • 2014-10-01
    • 2015-12-18
    • 1970-01-01
    相关资源
    最近更新 更多