Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disable the jquery multiselect

How can i disable the multiselected plugin

jquery multiselect

in the above link its toggled i want to enable or disable depending upon a particular condition.

tnx for the help.

like image 227
John x Avatar asked Jun 30 '11 08:06

John x


2 Answers

$("#mymultiselect").multiselect("disable");

should do the trick.

HTML:

<select id="test001" multiple="multiple" size="5"> 
    <option value="option1">Option 1</option> 
    <option value="option2">Option 2</option> 
    <option value="option3">Option 3</option> 
    <option value="option4">Option 4</option> 
    <option value="option5">Option 5</option> 
</select> 

Javascript:

$("#test001").multiselect({
    minWidth: 300,
    height: 150,
    header: false,
    noneSelectedText: "Select",
    selectedList: 3
});

Calling $("#test001").multiselect("disable"); will disabled the multiselect.

Here's an jsfiddle

like image 139
LeftyX Avatar answered Sep 28 '22 11:09

LeftyX


This might be able to help you in a long run,Try this fiddle https://jsfiddle.net/JOKER123/bzuyp6xt/5/

function bs_muliselect_init(selector = '') {
  var selector = (selector != '') ? selector : '.bs_multiselect';
  var selector_index = $(selector).index();
  var selector_container_class = selector + '_container' + selector_index;
  selector_container_class = selector_container_class.replace(/[.#]/g, '');

  $(selector).multiselect({
    enableFiltering: true,
    enableCaseInsensitiveFiltering: true,
    includeSelectAllOption: true,
    optionClass: function(element) {
      return selector_container_class;
    },
    onChange: function(option, checked) {
      var max_limit = $(selector).attr('data-max_limit');
      var max_limit_msg = $(selector).attr('data-max_limit_msg');
      var selectedOptions = $(selector + ' option:selected');
      if (max_limit != undefined && max_limit != '' && !isNaN(max_limit)) {
        if (selectedOptions.length == max_limit) {
          alert(max_limit_msg);
          // Disable all other checkboxes.
          var nonSelectedOptions = $(selector + ' option').filter(function() {
            return !$(this).is(':selected');
          });

          nonSelectedOptions.each(function() {
            var input = $('.' + selector_container_class + ' input[value="' + $(this).val() + '"]');
            input.prop('disabled', true);
            input.parent('li').addClass('disabled');
          });
        } else {

          // Enable all checkboxes.
          $(selector + ' option').each(function() {
            var input = $('.' + selector_container_class + ' input[value="' + $(this).val() + '"]');
            input.prop('disabled', false);
            input.parent('li').addClass('disabled');
          });
        }
      }
    }
  });
}
like image 42
Amar Bhatia Avatar answered Sep 28 '22 11:09

Amar Bhatia