Estoy usando el complemento Bootstrap-Select de esta manera:
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();
Ahora quiero establecer el valor seleccionado para esta selección cuando se hace clic en el botón ... algo como esto:
$('#mybutton').click(function(){
$('select[name=selValue]').val(1);
});
Pero nada pasa.
¿Cómo puedo conseguir esto?
Respuestas:
El valor está seleccionado correctamente, pero no lo vio porque el complemento oculta la selección real y muestra un botón con una lista desordenada, por lo que, si desea que el usuario vea el valor seleccionado en la selección, puede hacer algo como esto :
Editar:
Como señala @blushrt, una mejor solución es:
Edición 2:
Para seleccionar varios valores, pase los valores como una matriz.
fuente
$('select[name=selValue]').val(1);$('.selectpicker').selectpicker('refresh');
esta manera, solo está cambiando la selección oculta, al llamar a selectpicker ('actualizar') se vuelve a dibujar el botón.Esto es todo lo que necesitas hacer. No es necesario cambiar el html generado de selectpicker directamente, simplemente cambie el campo de selección oculto y luego llame al selectpicker ('actualizar').
fuente
$('.selectpicker').selectpicker('refresh');
puede matar su rendimiento si tiene muchos selectores en una páginafuente
No es necesario actualizar si se usa el parámetro "val" para establecer el valor, ver violín . Utilice corchetes para el valor para habilitar varios valores seleccionados.
fuente
Esto funcionó para mí.
fuente
En realidad, su valor está establecido, pero su selector de selección no se actualiza
Como puede leer en la documentación
https://silviomoreto.github.io/bootstrap-select/methods/#selectpickerval
La forma correcta de hacer esto sería
Para varios valores, puede agregar una matriz de valores
fuente
Puede establecer el valor seleccionado llamando al método val en el elemento.
Esto seleccionará todos los elementos en una selección múltiple.
los detalles están disponibles en el sitio: https://silviomoreto.github.io/bootstrap-select/methods/
fuente
$('selector').selectpicker('val',value);
en lugar de selector, puede darle selector ya sea class o id, por ejemplo:
$('#mySelect').selectpicker('val',your_value)
fuente
fuente
Una ligera variación de blushrt's respuesta para cuando no tiene valores "codificados" para las opciones (es decir, 1, 2, 3, 4, etc.)
Digamos que renderiza un
<select>
con valores de opciones que son GUID de algunos usuarios. Luego, deberá extraer de alguna manera el valor de la opción para establecerla en el<select>
.A continuación, seleccionamos la primera opción de la selección.
HTML :
Javascript :
Usamos esto en una selección con la palabra clave múltiple
<select multiple>
. En este caso, no se selecciona nada por defecto, pero queríamos que el primer elemento siempre estuviera seleccionado.fuente
Basado en la gran respuesta de @blushrt, actualizaré esta respuesta. Solo usando -
funciona si ha precargado todo lo que necesita en el selector.
fuente
fuente
Con el '0' siendo el valor del elemento que desea seleccionar
fuente
Bueno, otra forma de hacerlo es, con esta palabra clave, simplemente puede obtener el objeto en este y manipular su valor. P.ej :
fuente
Además, puede llamar a esto para varios valores
$(<your select picker>).selectpicker("val", ["value1", "value2"])
Puede encontrar más aquí https://developer.snapappointments.com/bootstrap-select/methods/
fuente
Simplemente coloque la opción: seleccionada para obtener valor, porque el selector de selección de arranque cambia ay aparece de manera diferente. Pero seleccione todavía allí seleccionado
fuente
ID de usuario para el elemento, luego
fuente
usa esto y funcionará:
fuente