jquery - 如何按字母顺序对 JQuery UI 可排序进行排序?

标签 jquery jquery-ui jquery-ui-sortable

我想知道是否可以让 JQuery UI 可默认按字母顺序排序。如果是这样,如果我将项目添加到可排序项中,是否也可以实时按字母顺序排序?下面是我的代码:

// Adds item to sortable list
$(".addButton").click(function(e) {
    e.preventDefault();
    // set var item to be the string inputted by the user
    var item = $("input[name='brewItem']").val();
    // parses input string, splitting at commas into liArray containing substrings as elements
    var liArray = item.split(", ");
    // for loop to add each brew to the sortable list (length-1 because last element in array is empty string)
    for (var i = 0; i < liArray.length-1; i++) {
        // sets var $li to the string in the ith index of liArray
        var $li = $("<li class='ui-state-default'/>").text(liArray[i]);



        // adds var $li to gui
        $("#sortable").append($li);
    };
    // refreshes the page so var $li shows up
    $("#sortable").sortable("refresh");
});

我不太确定在哪里或如何实现这一点。感谢任何帮助,谢谢!

最佳答案

您需要调整它以使其按您需要的方式排序。

试试这个:- Fiddle

使用自定义排序方法

 function sort() {
    var sortableList = $('#sortable');
    var listitems = $('li', sortableList);

    listitems.sort(function (a, b) {

        return ($(a).text().toUpperCase() > $(b).text().toUpperCase())  ? 1 : -1;
    });
    sortableList.append(listitems);

}

在可排序的创建事件Create和按钮单击中调用它

$("#sortable").sortable({
    create: function (event, ui) {
        sort();
    }
});

或者扩展 jquery ui 可排序小部件以包含您的自定义排序逻辑。

关于jquery - 如何按字母顺序对 JQuery UI 可排序进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16006826/

相关文章:

jquery UI - 将日期添加到选定日期

javascript - jQuery:可排序:列表为空时的占位符

jquery - CSS 工作(或不工作?)奇怪

javascript - CSS:为什么 "z-index"没有让一个 div 出现在另一个 div 之上?

jquery - Sortable & droppable, droppable 不会更新,当 DOM 更新时?

jQuery UI 可拖动+可在 iframe 中排序 - 错误的垂直偏移

jQuery 可排序向上/向下移动按钮

javascript - 对象不支持属性或方法 "focus"

javascript - 单击图像并重定向到新页面,并将单击的图像动态添加到新页面?

jquery - 修复旋转父项内可拖动 div 的鼠标方向