diff --git a/js/ui.multiselect.js b/js/ui.multiselect.js index 3f653d8..055ef07 100755 --- a/js/ui.multiselect.js +++ b/js/ui.multiselect.js @@ -163,7 +163,8 @@ $.widget("ui.multiselect", { }, _getOptionNode: function(option) { option = $(option); - var node = $('
  • '+option.text()+'
  • ').hide(); + var disabled_class = option.is(':disabled') ? 'disabled' : ''; + var node = $('
  • '+option.text()+'
  • ').hide(); node.data('optionLink', option); return node; }, @@ -225,8 +226,13 @@ $.widget("ui.multiselect", { } else { item.children('span').removeClass('ui-icon-arrowthick-2-n-s').addClass('ui-helper-hidden').removeClass('ui-icon'); - item.find('a.action span').addClass('ui-icon-plus').removeClass('ui-icon-minus'); - this._registerAddEvents(item.find('a.action')); + + if(!item.hasClass('disabled')) { + item.find('a.action span').addClass('ui-icon-plus').removeClass('ui-icon-minus'); + this._registerAddEvents(item.find('a.action')); + } else { + item.find('a.action span').removeClass('ui-icon'); + } } this._registerDoubleClickEvents(item); @@ -289,7 +295,8 @@ $.widget("ui.multiselect", { if (this.options.sortable) { elements.each(function() { $(this).parent().draggable({ - connectToSortable: that.selectedList, + cancel: ".disabled", + connectToSortable: that.selectedList, helper: function() { var selectedItem = that._cloneWithData($(this)).width($(this).width() - 50); selectedItem.width($(this).width());