¿Cómo puedo establecer el valor de DropDownList usando jQuery?



Answers

Si trabaja con índice, puede establecer el índice seleccionado directamente con .attr ():

$("#mydropdownlist").attr('selectedIndex', 0);

Esto lo establecerá en el primer valor en la lista desplegable.

Editar: La forma en que lo hice anteriormente solía funcionar. Pero parece que ya no es así.

Pero como Han señala de manera tan agradable en los comentarios, la forma correcta de hacerlo es:

$("#mydropdownlist").get(0).selectedIndex = index_here;
Question

Como dice la pregunta, ¿cómo puedo establecer el valor de un control DropDownList usando jQuery?




Establecer el valor selected drop-down y los cambios de actualización

$("#PR2DistrictId option[value='@Model.PR2DistrictId']").attr("selected", true).trigger("chosen:updated")

Aquí primero establecemos el valor del Model y luego lo actualizamos en el elegido




Aquí hay una función para establecer rápidamente la opción seleccionada:

function SetSelected(elem, val){
        $('#'+elem+' option').each(function(i,d){
        //  console.log('searching match for '+ elem + '  ' + d.value + ' equal to '+ val);
            if($.trim(d.value).toLowerCase() == $.trim(val).toLowerCase()){
        //      console.log('found match for '+ elem + '  ' + d.value);
                $('#'+elem).prop('selectedIndex', i);
            }
        });
    }

Llame a esta función con ID de elemento de argumento y valor seleccionado; Me gusta esto:

SetSelected('selectID','some option');

Es útil cuando hay muchas opciones de selección para establecer.




Prueba este enfoque muy simple:

/*make sure that value is included in the options value of the dropdownlist 
e.g. 
(<select><option value='CA'>California</option><option value='AK'>Alaska</option>      </select>)
*/

$('#mycontrolId').val(myvalue).attr("selected", "selected");



La mejor respuesta para la pregunta:

$("#comboboxid").val(yourvalue).trigger("chosen:updated");

p.ej:

$("#CityID").val(20).trigger("chosen:updated");

o

$("#CityID").val("chicago").trigger("chosen:updated");



Tratar:

jQuery("#availability option:selected").val();

O para obtener el texto de la opción, use el texto ():

jQuery("#availability option:selected").text();

Más información:

 http://api.jquery.com/val/
 http://api.jquery.com/text/

$(document).ready(function(){ 
  $('#button1').click(function(){ 
    alert($('#combo :selected').text());
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="combo">
  <option value="1">Test 1</option>
  <option value="2">Test 2</option>
</select>
<input id="button1" type="button" value="Click!" />




Related