【问题标题】:How to stop one column from being sortable while Using JQuery UI sortable function如何在使用 JQuery UI 可排序功能时阻止一列可排序
【发布时间】:2016-06-28 10:31:00
【问题描述】:

我的 JSP 页面中有一个表格,它的开头是这样的

<table class="table table-bordered table-striped table-highlight" id="tab_logic"></table>

我通过 AJAX 调用以这种方式向表中添加行

function loadData(data){
    var htm = "<tr><th style='width: 20%'>Index Order</th><th style='width: 20%'>Category Name</th><th style='width: 20%'>Category Key</th><th style='width: 20%'>Category Id</th></tr>";
    for(var i = 0; i < data.length; i++)
    {
        htm += "<tr><td>" + data[i].indexOrder + "</td><td>" + data[i].name + "</td><td>" + data[i].catKey + "</td><td>" + data[i].id + "</td></tr>";           
    }
    $("#tab_logic").html(htm);
}

现在为了使表格可排序,我正在使用 jQuery UI 插件并使用这些行

$("#tab_logic").sortable({
    items: "tr:not(th)",
    helper: "clone",
    update: function() {
        // alert("success");
    }
}).disableSelection();

$("#submit").click(function(){
    process();
});

现在我希望除第一列之外的所有其他列都是可排序的。我怎样才能做到这一点?

【问题讨论】:

    标签: javascript jquery ajax jquery-ui


    【解决方案1】:

    我通常使用 jQuery 数据表来填充数据,它提供了丰富的功能集。

    我们可以在dataTable实例化的时候配置排序列和它们各自的排序方向。检查并查看它是否可以在您的上下文中使用

    https://datatables.net/examples/basic_init/table_sorting.html

    【讨论】:

    • @Tharasan 是的,可能是这样。但是我已经完成了大部分项目,再次更改整个项目会很麻烦。因此,如果您可以帮助解决原始表中的问题,那就太好了
    【解决方案2】:

    您可以使用items 选项来指定哪些项目应该是可排序的。

    类似

    items: 'tbody tr:not(:first-child)`
    

    或者如果您可以将enabled 之类的类添加到可排序的行中,只需

    items: 'tr.enabled'`
    

    【讨论】:

      猜你喜欢
      • 2012-12-22
      • 1970-01-01
      • 2019-09-30
      • 1970-01-01
      • 2017-02-20
      • 2012-04-22
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多