Javascript jQuery UI可排序-更新后同步阵列(模型)
假设我有一个包含数据的数组,它可能来自Ajax(但这里不需要这样做) 使用该数组生成UL元素的内容,使用jqueryui使UL可排序 我希望在客户端对阵列排序之后,阵列的顺序与UL保持同步 有没有一种优雅的方法Javascript jQuery UI可排序-更新后同步阵列(模型),javascript,jquery,arrays,jquery-ui,Javascript,Jquery,Arrays,Jquery Ui,假设我有一个包含数据的数组,它可能来自Ajax(但这里不需要这样做) 使用该数组生成UL元素的内容,使用jqueryui使UL可排序 我希望在客户端对阵列排序之后,阵列的顺序与UL保持同步 有没有一种优雅的方法 var位置=[ {名称:'点0',位置:[50.8674162,4.3772933]}, {名称:'点1',位置:[50.8135113,4.3247394]}, {名称:'点2',位置:[50.8771732,4.3544551]}, {名称:'点3',位置:[50.8460485,
var位置=[
{名称:'点0',位置:[50.8674162,4.3772933]},
{名称:'点1',位置:[50.8135113,4.3247394]},
{名称:'点2',位置:[50.8771732,4.3544551]},
{名称:'点3',位置:[50.8460485,4.3664706]}
];
函数generateUl(){
var内容=“”;
对于(位置中的var i){
content+=''+locations[i].name+'('+locations[i].location.toString()++') ';
}
$('#points').html(内容);
}
$(文档).ready(函数(){
generateUl();
$(“#点”)。可排序({
更新:功能(事件、用户界面){
//$('#点li')。每个(函数(e){
//});
//因此,我希望在每次更新后都能看到此显示更改,并使顺序匹配
$('#display').html(JSON.stringify(locations));
}
});
});代码>
对代码进行一些更改,以获得所需内容:
var位置=[
{名称:'点0',位置:[50.8674162,4.3772933]},
{名称:'点1',位置:[50.8135113,4.3247394]},
{名称:'点2',位置:[50.8771732,4.3544551]},
{名称:'点3',位置:[50.8460485,4.3664706]}
];
函数generateUl(){
对于(位置中的var i){
li=$(''+locations[i].name+'('+locations[i].location.toString()++') ');
li.数据('d',位置[i])
$(“#点”)。追加(li);
}
}
$(文档).ready(函数(){
generateUl();
$(“#点”)。可排序({
更新:功能(事件、用户界面){
new_locations=$(this).find('li').map(函数(i,el){
返回$(el).data('d'))
}).get()
$('#display').html(JSON.stringify(new#u locations));
}
});
});代码>
2k stackoverflow上的声誉仍然没有使用代码段?你应该感到羞愧:)谢谢,太好了。我也在做一些有数据id的东西。这个映射函数正是我需要的