2014-09-09 3 views
6

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

Это мой код

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

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

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

ответ

27

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

  1. $('Id').multiselect('refresh'); - Refreshs на множественный на основе выбранных опций избранных.

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

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

  4. buildSelectAll: Создайте selct all.Checks, если выбранный все уже создан.

  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

+0

спасибо моему другу :) – Boldbayar

2

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

Чтобы снять выделение с помощью опции это

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

Затем вызовите метод ReFRESH

$('.multiselect').multiselect('refresh'); 
+0

Я успешно отменить выбор опции, которые ранее выбранные, но мой вопрос, когда я называю $ MULTISELECT ('обновления «), (» MULTISELECT.). список опций становится скрытым, потому что style = display: none не добавляет кнопку выпадающего списка, а раскрывающийся список становится невидимым. – user3408779

+0

Если я использую 'refresh'a, то создается новый элемент multiselect. Зачем? – Yebach

+0

Можете ли вы показать мне, что в http://jsfiddle.net –

4

Bootstrap Multiselect не работает, если вы просто нацеливаете класс следующим образом.

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

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

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

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

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

$("select.multiselect").multiselect("deselectAll", false); 
1

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

function initMultiSelect(){ 

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


    $('#button').click(function(e){ 
     e.preventDefault(); 
     $('#yourMultiselectId').multiselect('destroy'); 
     initMultiSelect(); 
    }); 
Смежные вопросы