Подтвердить что ты не робот

Как установить выбранное значение при выборе с помощью плагина selectpicker из бутстрапа

Я использую плагин Bootstrap-Select следующим образом:

HTML

<select name="selValue" class="selectpicker">
   <option value="1">Val 1</option>
   <option value="2">Val 2</option>
   <option value="3">Val 3</option>
   <option value="4">Val 4</option>
</select>

Javascript

$('select[name=selValue]').selectpicker();

Теперь я хочу установить значение, выбранное для этого, при нажатии кнопки... примерно так:

$('#mybutton').click(function(){
   $('select[name=selValue]').val(1);
});

Но ничего не происходит.

Как я могу это достичь?

4b9b3361

Ответ 1

Значение выбрано правильно, но вы его не видели, потому что плагин скрывает реальный выбор и показывает кнопку с неупорядоченным списком, поэтому, если вы хотите, чтобы пользователь видел выбранное значение в выборе, вы можете сделать что-то вроде этого:

//Get the text using the value of select
var text = $("select[name=selValue] option[value='1']").text();
//We need to show the text inside the span that the plugin show
$('.bootstrap-select .filter-option').text(text);
//Check the selected attribute for the real select
$('select[name=selValue]').val(1);

Редактировать:

Как указывает @blushrt, лучшее решение:

$('select[name=selValue]').val(1);
$('.selectpicker').selectpicker('refresh')

Изменить 2:

Чтобы выбрать несколько значений, передайте значения в виде массива.

Ответ 2

$('select[name=selValue]').val(1);
$('.selectpicker').selectpicker('refresh');

Это все, что вам нужно сделать. Не нужно напрямую изменять сгенерированный html selectpicker, просто измените поле скрытого выбора, а затем вызовите selectpicker ('refresh').

Ответ 3

$('.selectpicker').selectpicker('val', YOUR_VALUE);

Ответ 4

Нет необходимости обновления, если для установки значения используется параметр "val", см. скрипту. Используйте скобки для значения, чтобы включить несколько выбранных значений.

$('.selectpicker').selectpicker('val', [1]); 

Ответ 5

$('#mybutton').click(function(){
   $('select[name=selValue]').val(1);
   $('select[name=selValue]').change();
});

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

Ответ 6

На самом деле ваше значение установлено, но ваш selectpicker не обновляется

Как вы можете прочитать из документации
https://silviomoreto.github.io/bootstrap-select/methods/#selectpickerval

Правильный способ сделать это будет

$('.selectpicker').selectpicker('val', 1);

Для нескольких значений вы можете добавить массив значений

$('.selectpicker').selectpicker('val', [1 , 2]);

Ответ 7

Вы можете установить выбранное значение, вызвав метод val для элемента.

$('.selectpicker').selectpicker('val', 'Mustard');
$('.selectpicker').selectpicker('val', ['Mustard','Relish']);

Это позволит выбрать все элементы в мульти-выбор.

$('.selectpicker').selectpicker('selectAll');

подробности доступны на сайте: https://silviomoreto.github.io/bootstrap-select/methods/

Ответ 8

var bar= $(#foo).find("option:selected").val();

Ответ 9

Небольшое отклонение ответа
blushrt
, если у вас нет" жестко закодированных" значений для параметров (например, 1, 2, 3, 4 и т.д.)

Скажем, вы визуализируете <select> с значениями параметров, являющимися идентификаторами GUID для некоторых пользователей. Затем вам нужно каким-то образом извлечь значение параметра, чтобы установить его на <select>.

Далее мы выбираем первый вариант выбора.

HTML

<select name="selValue" class="selectpicker">
   <option value="CD23E546-9BD8-40FD-BD9A-3E2CBAD81A39">Dennis</option>
   <option value="4DDCC643-0DE2-4B78-8393-33A716E3AFF4">Robert</option>
   <option value="D3017807-86E2-4E56-9F28-961202FFF095">George</option>
   <option value="991C2782-971E-41F8-B532-32E005F6A349">Ivanhoe</option>
</select>

Javascript

// Initialize the select picker.
$('select[name=selValue]').selectpicker();

// Extract the value of the first option.
var sVal = $('select[name=selValue] option:first').val();

// Set the "selected" value of the <select>.
$('select[name=selValue]').val(sVal);

// Force a refresh.
$('select[name=selValue]').selectpicker('refresh');

Мы использовали это в select с множественным ключевым словом <select multiple>. В этом случае ничто не выбирается по умолчанию, но мы хотели, чтобы первый элемент всегда был выбран.

Ответ 10

$('.selectpicker').selectpicker('val', '0');

Когда "0" является значением элемента, который вы хотите выбрать

Ответ 11

Ну еще один способ сделать это, с этим ключевым словом, вы можете просто получить объект в этом и манипулировать его значение. Например:

$("select[name=selValue]").click(
    function() {
        $(this).val(1);
    });

Ответ 13

На основании @blushrt отличный ответ я буду обновлять этот ответ. Просто используя -

$("#Select_ID").val(id);

работает, если вы предварительно загрузили все необходимое в селектор.

Ответ 14

$('.selectpicker option:selected').val();

Просто поместите option: selected для получения значения, потому что селектор выбора начальной загрузки меняется на и появляется по-разному. Но выбирай еще там выбрал

Ответ 15

$('.selectpicker').selectpicker("val", "value");

Ответ 16

Идентификатор пользователя Для элемента, затем

document.getElementById('selValue').value=Your Value;
$('#selValue').selectpicker('refresh');

Ответ 17

используйте это, и он будет работать:

 $('select[name=selValue]').selectpicker('val', 1);