使用jQuery Sortable检索多个属性

时间:2013-10-02 14:01:26

标签: javascript jquery jquery-ui

据我所知,jQuery UI Sortable只读取一个指定的属性来序列化或生成一个输出数组,但是我真的想要检索多个属性并将它们连接成一个输出字符串(序列化或连接到数组)。

这是我的HTML示例:

<ul id="sort">
<li data-color="red" data-size="small">apple</li>
<li data-color="yellow" data-size="medium">banana</li>
<li data-color="green" data-size="big">watermelon</li>
</ul>

我需要输出两个数据属性的值。我怎么能这样做?

我试着这样做:

$(function() {
$('#sort').sortable().disableSelection();
$("#sort").on( "sortupdate", function( event, ui ) {
    var output = $(this).sortable("toArray", {
        attribute: {"data-color", "data-size"}
    });
    //do something
} );
});

但它不起作用,我猜是因为attribute不支持数组作为其值。

1 个答案:

答案 0 :(得分:2)

map()如何将值放在数组中

$("#sort").on( "sortupdate", function( event, ui ) {
    dataArray = $.map($(this).children('li'), function(el){
        return {'color':$(el).data('color'), 'size':$(el).data('size')}; 
    });
});

JSFiddle