我有一个Js数组 picInfos 和html列表。每个数组和列表元素彼此对应。我想用 list 同时对 picInfos 数组进行排序,这是按jQuery可排序函数排序的。
var picInfos = [];
$(document).ready(function() {
function readURL(input) {
var $selected_images_list = $('.selected_images_list ul');
if (input.files) {
var picInfo = [];
for (var o = 0; o < input.files.length; o++) {
var reader = new FileReader();
reader.onload = function(e) {
$selected_images_list.append(
'<li>' +
'<div class="img_wrapper">' +
'<img src=' + e.target.result + ' alt="">' +
'</div>' +
'</li>');
picInfo.push(e.target.result);
}
reader.readAsDataURL(input.files[o]);
picInfo.push(input.files[o].name);
}
picInfos.push(picInfo);
}
}
$(function() {
$(".selected_images_list ul").sortable({
connectWith: $(this).find('li')
}).disableSelection();
});
答案 0 :(得分:0)
您应该使用可排序的change
事件,这会在更改排序列表时发生。您需要在列表更改
$(function() {
$(".selected_images_list ul").sortable({
connectWith: $(this).find('li'),
change: function (event, ui) {
// here your the code that re-builds the array
}
}).disableSelection();
});