Как изменить ярлык мультизагрузки bootstrap вместо выбранного?

Я использую раскрывающийся список Bootstrap Multiselect, а не количество списков, показывающих, когда выбрано все параметры, мы можем отобразить текст All Selected.

http://davidstutz.github.io/bootstrap-multiselect/

Ответ 1

Если кто-то ударит по этому вопросу в будущем, решение изменит

{ nonSelectedText: 'None selected' }  

присвойте глобальную переменную этому тексту, изменив ее с помощью JavaScript.

значение находится в файле bootstrap-multiselect.js.

Ответ 2

Вы можете изменить текст "Ярлык" (для многозадачности бутстрапа) для всех 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>

Это работает для меня. Получайте удовольствие!

Ответ 3

Используйте параметры init obj.

$("#services").multiselect({
  nonSelectedText:'Services'
});

Эта опция работала для меня.

Ответ 4

использовать data-placeholder

<select data-placeholder="Month">

Эта работа для меня.

Ответ 5

Следуя официальной документации :

allSelectedText - это текст, отображаемый, если выбраны все параметры. Вы может отключить отображение allSelectedText, установив его в значение false.

использовать

{
...
allSelectedText: false,
...
}

Ответ 6

Я изменил третью кнопку ( подсказка кнопки: Multiselect с опцией 'Выбрать все') id до test. Он работает, но сначала нужно добавить идентификатор к кнопке из инструментов разработчика (Chrome/Firefox добавить F12).

$('#test+ul>li').change(function(){
    $('#test').text($('#test').attr('title'));
});

Вы можете проверить его после добавления идентификатора. После этого используйте jsfiddle.net. Вы можете быстрее найти помощь.

Ответ 7

Ответ Филиппа работал у меня, но, просто сделав его более полным, его следует призвать к документу. Поэтому решение для меня, включая установку нескольких списков, было:

$(document).ready(function() {
    $("#bedrooms").multiselect({
        nonSelectedText:'Bedrooms'
    });
    $("#bathrooms").multiselect({
        nonSelectedText:'Bathrooms'
    });
    $("#garages").multiselect({
        nonSelectedText:'Garages'
    });
    $("#livingareas").multiselect({
        nonSelectedText:'Living Areas'
    });
});