javascript - jquery ui sortable - 按属性值排序

标签 javascript jquery jquery-ui

如果我正在运行 jquery ui 并在 ul 元素中使用 sortable:

$("#example").sortable({
    update: function () {
        //do something
    }
});

<ul id="example">
<li data-ex="1.1"></li>
<li data-ex="0.1"></li>
<li data-ex="1.4"></li>
</ul>

有没有一种方法可以触发按数据属性即时对我的元素进行排序的事件?本质上,我想要一个按数据属性对 li 元素进行排序的按钮,它也会触发 sortable() 中的更新。

最佳答案

你可以试试这个:

$(document).ready(function () {
    $("#example").sortable({//Sortable initialisation
        update: function () {
            updatehandler();//Custom function which handles sortable update.
        }
    });
    $('a').click(function () {// Click handler to sort
        var list = $('#example');
        var listItems = list.find('li').sort(function (a, b) {
            return $(a).attr('data-ex') - $(b).attr('data-ex');
        });
        list.find('li').remove();
        list.append(listItems);
        updatehandler();//Call updatehandler after sorting
        return false;
    });    
});

function updatehandler() {
    //Your update handler code.
    alert('updated');
}

HTML:

<a href="">Sort</a>
<ul id="example">
    <li data-ex="1.1">1.1</li>
    <li data-ex="0.1">0.1</li>
    <li data-ex="1.4">1.4</li>
</ul>

演示:http://jsfiddle.net/lotusgodkk/GCu2D/151/

关于javascript - jquery ui sortable - 按属性值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23833882/

相关文章:

javascript - 如何将javascript对象映射到mvc模型?

javascript - jQuery - 如何隐藏元素及其子元素?

java - 如何从解析中提取对象并将其显示在列表中,而无需在 android 中使用它们的 ID?

javascript - jQuery 对话框中的 Z-index。自动建议列表未正确显示

javascript - 数据缓存 jquery 移动问题

javascript - 在没有 dojo/parse 的情况下使用 dijit

javascript - 无法使用 JSON.parse() 将字符串转换为 json

javascript - 修改伪元素:after's width using javascript

jquery-ui - 将文本框中的数据格式化为 $###,###,###,##0.00

javascript - Bootstrap 4 导航选项卡更改页面而不是更改选项卡内容