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

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

$("#mydropdownlist").val("thevalue"); 

solo asegúrese de que el valor en las tags de opciones coincida con el valor en el método val.

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; 

Según lo sugerido por @Nick Berardi, si su valor modificado no se refleja en la interfaz de usuario de interfaz de usuario, intente:

 $("#mydropdownlist").val("thevalue").change(); 

Prueba este enfoque muy simple:

 /*make sure that value is included in the options value of the dropdownlist eg () */ $('#mycontrolId').val(myvalue).attr("selected", "selected"); 

Si su menú desplegable es Asp.Net desplegable, el siguiente código funcionará bien,

  $("#< %=DropDownName.ClientID%>")[0].selectedIndex=0; 

Pero si DropDown es HTML desplegable, entonces este código funcionará.

  $("#DropDownName")[0].selectedIndex=0; 

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()); }); }); 
    

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

Hay muchas formas de hacerlo. Éstos son algunos de ellos:

 $("._statusDDL").val('2'); 

O

 $('select').prop('selectedIndex', 3); 

En este artículo hay diferentes formas de seleccionar el valor desplegable usando Jquery .

Creo que esto puede ayudar:

  $.getJSON('< %= Url.Action("GetDepartment") %>', { coDepartment: paramDepartment }, function(data) { $(".autoCompleteDepartment").empty(); $(".autoCompleteDepartment").append($("").val(-1)); $.each(data, function() { $(".autoCompleteDepartment").append($("").val(this.CodDepartment).text(this.DepartmentName)); }); $(".autoCompleteDepartment").val(-1); } ); 

Si lo hace de esta manera, agrega un elemento sin texto. Por lo tanto, cuando hace clic en combo, no aparece, pero el valor -1 que agregó posteriormente selecciona $ (“. AutoCompleteDepartment”). Val (-1); le permite controlar si el combo tiene un valor válido.

Espero que ayude a cualquiera.

Lo siento por mi ingles.

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.

En caso de que cargue todas las por llamada Ajax
Sigue estos pasos para hacer esto.

1). Cree un método separado para establecer el valor del menú desplegable
Por ejemplo:

 function set_ip_base_country(countryCode) $('#country').val(countryCode) } 

2). Llame a este método cuando ajax call success complete toda la tarea html append

Por ejemplo:

 success: function (doc) { ..... ..... $("#country").append('') set_ip_base_country(ip_base_country) } 

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

// Formato Html de la lista desplegable.

  

// Si quiere cambiar el elemento seleccionado a test2 usando javascript. Prueba este. // establece la siguiente opción quieres seleccionar

 var NewOprionValue = "Test2" var RemoveSelected = $("#MyDropDownList")[0].innerHTML.replace('selected', ''); var ChangeSelected = RemoveSelected.replace(NewOption, NewOption + 'selected>'); $('#MyDropDownList').html(ChangeSelected); 

Usar la respuesta destacada / marcada anterior funcionó para mí … aquí hay una pequeña idea. Me engañé un poco para obtener la URL, pero básicamente estoy definiendo la URL en el Javascript, y luego configurándola a través de la respuesta de jquery de arriba: