Disable the jquery multiselect

Viewed 45980

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.

5 Answers

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');
          });
        }
      }
    }
  });
}
Related