bootstrap multiselect (обновление) не работает должным образом

Я использую окно списка множественного выбора начальной загрузки. Когда пользователь выбирает параметры в множественном выборе, он отображается правильно. Но есть возможность сбросить ранее выбранные параметры. Когда пользователь нажимает кнопку сброса, автоматически style=display:none добавляется к кнопке раскрывающегося списка, и раскрывающийся список становится невидимым.

Это мой код

$("#button").click(function () {

    $('option', $('.multiselect')).each(function (element) {
        $(this).removeAttr('selected').prop('selected', false);

    });
    $('.multiselect').multiselect('refresh');
});

person user3408779    schedule 09.09.2014    source источник


Ответы (5)


Другие полезные опции:

  1. $('Id').multiselect('refresh'); — обновляет множественный выбор на основе выбранных параметров выбора.

  2. $('Id').multiselect('destroy'); - Отвязывает весь плагин.

  3. buildFilter : Создает фильтр.

  4. buildSelectAll : построить выбор всех. Проверяет, не был ли уже создан выбор всех.

  5. $('Id').multiselect('select', ['1', '2', '4']); — выбрать все варианты заданных значений.

  6. clearSelection : очищает все выбранные элементы.

  7. $('Id').multiselect('deselect', ['1', '2', '4']); - Отменяет выбор всех опций заданных значений.

  8. $('Id').multiselect('selectAll', true); — выбирает все включенные и видимые параметры.

  9. $('Id').multiselect('deselectAll', true); — отменяет выбор всех опций.

  10. $('Id').multiselect('rebuild'); - Пересобрать плагин.

  11. $('Id').multiselect('enable'); - Включить множественный выбор.

  12. $('Id').multiselect('disable'); - Отключить множественный выбор.

  13. hasSelectAll : Проверяет наличие флажка «Выбрать все».

  14. updateSelectAll : Обновляет флажок «Выбрать все» на основе отображаемых и выбранных флажков.

  15. $('Id').multiselect('updateButtonText'); — Обновить текст кнопки и ее заголовок на основе выбранных параметров.

  16. getSelected() : Получить все выбранные параметры.

  17. getOptionByValue() : Получает параметр выбора по его значению.

  18. $('Id').multiselect('dataprovider', options); — предоставленные данные будут использованы для построения раскрывающегося списка.

для более подробной информации посетите bootstrap-multiselect

person 2787184    schedule 24.07.2015
comment
Вы сэкономили мое время - person Siva Ganesh; 03.10.2018

Bootstrap Multiselect терпит неудачу, если вы просто нацеливаетесь на такой класс.

$(".multiselect").multiselect("refresh");

Это происходит потому, что в плагине есть что-то еще, имеющее класс multiselect. Вы должны сообщить ему, что вы хотите настроить таргетинг только на избранных.

Следующее сработало для меня.

$("select.multiselect").multiselect("refresh");

То же самое относится и к методу «отменить выбор».

$("select.multiselect").multiselect("deselectAll", false);
person Thylle    schedule 27.03.2015

Мой подход состоит в том, чтобы уничтожить множественный выбор, а затем повторно инициализировать его. Это сработало для меня. Попробуйте:

    function initMultiSelect(){

      $('#yourMultiselectId').multiselect({
        includeSelectAllOption: true,
        selectAllValue: 'select-all-value'
      });
    }


    $('#button').click(function(e){
        e.preventDefault();
        $('#yourMultiselectId').multiselect('destroy');
        initMultiSelect();
    });
person omargarcianet    schedule 01.08.2016

Посмотрите на эту документацию: http://davidstutz.github.io/bootstrap-multiselect/

Чтобы отменить выбор опции, используйте это

$('.multiselect').multiselect('deselect', value)

Затем вызовите метод обновления

$('.multiselect').multiselect('refresh');
person Sam Battat    schedule 09.09.2014
comment
Я успешно отменяю выбор ранее выбранных параметров, но мой вопрос заключается в том, когда я вызываю $('.multiselect').multiselect('refresh'); список опций становится скрытым, потому что style=display:none добавляется к кнопке раскрывающегося списка, и раскрывающийся список становится невидимым. - person user3408779; 09.09.2014
comment
Если я использую «обновить», создается новый элемент множественного выбора. Почему? - person Yebach; 17.09.2014

$('option', "#id").each(function(element) {
  jQuery("#id").multiselect('deselect', $(this).val());
});

Я успешно отменяю выбор ранее выбранных параметров.

person user16444387    schedule 14.07.2021