Я использую раскрывающийся список Bootstrap Multiselect вместо номера списка, показывающего при выборе опции «Выбрать все», можем ли мы показать текст «Все выбранные».
Как изменить метку мультиселекта начальной загрузки вместо выбранных всех?
Ответы (7)
Если кто-то ударит по этому вопросу в будущем, решение - изменить
{ nonSelectedText: 'None selected' }
присвойте этому тексту глобальную переменную, измените ее с помощью JavaScript.
значение находится в файле bootstrap-multiselect.js.
noneSelectedText
для каждого нового объекта множественного выбора, если у вас их несколько. Спасибо!
- person Cody Reichert; 18.11.2014
Вы можете изменить текст «Метка» (мультиселектора начальной загрузки) для всех 4 случаев «не выбрано», «n выбрано», «Все» выбрано или «выбрано значения» следующим образом:
JQuery
$('#level').multiselect({
includeSelectAllOption: true,
maxHeight: 150,
buttonWidth: 150,
numberDisplayed: 2,
nSelectedText: 'selected',
nonSelectedText: 'None selected',
buttonText: function(options, select) {
var numberOfOptions = $(this).children('option').length;
if (options.length === 0) {
return nonSelectedText + ' <b class="caret"></b>';
}
else{
if (options.length > numberDisplayed) {
if(options.length === numberOfOptions){
return ' All Selected' + ' <b class="caret"></b>';
}
return options.length + ' ' + nSelectedText + ' <b class="caret"></b>';
}else {
var selected = '';
options.each(function() {
var label = ($(this).attr('label') !== undefined) ?
$(this).attr('label'):$(this).html();
selected += label + ', ';
});
return selected.substr(0, selected.length - 2) + ' <b class="caret"></b>';
}
}
}
});
HTML
<select multiple="multiple" id="level">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
Меня устраивает. Веселиться!
Используйте параметры инициализации объекта.
$("#services").multiselect({
nonSelectedText:'Services'
});
Этот вариант у меня работал.
nonSelectedText
- person Carlos Martinez; 12.04.2016
используйте заполнитель данных
<select data-placeholder="Month">
Эта работа для меня.
Следуя официальной документации:
allSelectedText
— это текст, отображаемый, если выбраны все параметры. Вы можете отключить отображениеallSelectedText
, установив для него значение false.
использовать опцию
{
...
allSelectedText: false,
...
}
Ответ Филипа сработал для меня, но, сделав его немного более полным, его следует вызвать, когда документ готов. Итак, решение для меня, включая настройку нескольких списков, было:
$(document).ready(function() {
$("#bedrooms").multiselect({
nonSelectedText:'Bedrooms'
});
$("#bathrooms").multiselect({
nonSelectedText:'Bathrooms'
});
$("#garages").multiselect({
nonSelectedText:'Garages'
});
$("#livingareas").multiselect({
nonSelectedText:'Living Areas'
});
});
Я изменил идентификатор 3-й кнопки (подсказка о кнопке: множественный выбор с опцией "Выбрать все") на test. Это работает, но вам нужно сначала добавить идентификатор кнопки из инструментов разработчика (Chrome/Firefox добавить F12).
$('#test+ul>li').change(function(){
$('#test').text($('#test').attr('title'));
});
Вы можете протестировать его после добавления идентификатора. Пожалуйста, используйте jsfiddle.net после этого. Вы можете найти помощь быстрее.