jquery ui sortable disable for one li item
有可能只为一个列表项禁用jquery ui sortable吗? 这是代码示例:
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
例如,当我点击项目时,我将禁用可排序。 请帮忙。
这是javascript代码:
$(document).ready(function(){ $('.sortable li').click(function(){ // Disable sortable for this item............. }); });
当然,尝试这样的事情:
$(".sortable").sortable({ items: "li:not(.unsortable)" }); $(".sortable").disableSelection();
通过使用items选项,您可以指定可以和不可以排序的项目。
jsFiddle示例
您可以明确排除项目(除了不包括它们):
$( ".sortable" ).sortable({ cancel: ".disable-sort-item" });
我知道,这个问题已经过时了。 但我告诉你正确的答案。 如何通过单击动态地禁用和启用项目。 因为我在2016年有同样的问题:D
首先。 您需要做的就是将项目设置为可开始时将被禁用的可排序项目。 添加参数从列表中删除禁用的项目(在第一次初始化时需要):
var sortable = $("#sortable-sections"); sortable.sortable({ items: 'li:not(.ui-state-disabled)', helper: 'clone', }); sortable.disableSelection();
(示例中使用的bootstrap)
然后只需添加事件监听器,我使用onClick,这里的示例如下:
sortable.find('li').click(function () { $(this).toggleClass('ui-state-disabled'); $(this).hasClass('ui-state-disabled') ? $(this).removeData('sortableItem') : false; });
Sortable-item只有在拥有调用sortableItem的数据时才可以排序,因此它会动态禁用,希望它可以帮助某人。
干杯!