silvio selectpicker seleccionar multiselect con buscador bootstrap jquery twitter-bootstrap bootstrap-select

jquery - seleccionar - Cómo establecer el valor seleccionado en select usando el plugin selectpicker de bootstrap



selectpicker bootstrap (12)

Estoy usando el complemento Bootstrap-Select así:

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 seleccionar esto 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?


Bien otro otro fue hacerlo, con esta palabra clave, simplemente puede obtener el objeto en esto y manipular su valor. P.ej :

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


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 :

//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);

Editar:

Al igual que @blushrt señala, una mejor solución es:

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


En realidad, su valor está establecido, pero su seleccionador no se actualiza

Como puedes leer de la documentación
https://silviomoreto.github.io/bootstrap-select/methods/#selectpickerval

La forma correcta de hacerlo sería

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

Para valores múltiples puede agregar una matriz de valores

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


ID de usuario para el elemento, luego

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


No se necesita ninguna actualización si el parámetro "val" se utiliza para establecer el valor, ver violín . Use corchetes para el valor para habilitar múltiples valores seleccionados.

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


Una ligera variación de la respuesta de Blushrt para cuando no tiene valores "codificados" para las opciones (es decir, 1, 2, 3, 4, etc.)

Supongamos 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 configurarla en <select> .

A continuación, seleccionamos la primera opción de la selección.

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'');

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 siempre se seleccionara el primer elemento.


usa esto y va a funcionar:

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


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

Esto funcionó para mí.


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

Con ''0'' es el valor del artículo que desea seleccionar


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


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

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 seleccionador (''refresh'').


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