jQuery UI Sortable - ошибка: невозможно вызвать методы для сортировки до инициализации; попытался вызвать метод «отключить»
У меня есть элемент списка сортировки пользовательского интерфейса jQuery, который динамически заполняется из запроса Ajax.
В настоящее время рабочий процесс идет
Пользователь нажимает кнопку, список заполняется и сортируется по заданным настройкам.Пользователь нажимает другую кнопку,Существующий список
элементы стираютсяjQuery.empty()
вызовНовые значения данных вставляются в новые
элементы списка и добавлены в
списокСортируемый список обновляется через $ ("#sortable») .Sortable (»обновить»);Дан объект списка Sortable$("#avail_list").sortable( ... );
Я хочу иметь конкретные элементы списка draggable
свойство отключено и непрозрачность установлена на 0,5 на основе существующих значений в других элементах.
Для этого у меня есть следующая функция:
var disabled = [];
var appendString = ""
if (avail.length > 0) {
for (var i = 0; i < avail.length; i++) {
//check if current list element exists in existing value list. True results
//in grayed out and non-draggable element
compareMatch = checkMatch(avail[i], compare);
if (compareMatch)
disabled.push(list + "open_" + avail[i].id);
appendString += "<img class="logo" src="/static/images/vendor_logo/"" +="" avail[i].icon="" "="">"
}
$("#avail_list").append(appendString);
}
$("#avail_list").sortable("refresh");
if (disabled.length > 0)
disableDraggable(disabled);
function disableDraggable(elements){
for (var i = 0; i < elements.length; i++) {
console.log(elements[i])
$("#" + elements[i]).sortable("disable");
$("#" + elements[i]).fadeTo("fast", 0.5);
}
}
Однако это приводит к ошибке
Error: cannot call methods on sortable prior to initialization;
attempted to call method 'disable'
Так как я позвонилrefresh
в списке сортировки до отключения элементов, какsortable
объект не будет инициализирован?