2011-05-19 19 views
12

Estoy tratando de obtener el valor de una lista desplegable .NET en JQuery, pero solo puedo obtener el ID del elemento seleccionado, no el valor seleccionado. ¿Es posible hacer esto? Este es mi código actual, que obtiene el ID del elemento seleccionado:obteniendo el valor seleccionado del menú desplegable .NET usando JQuery

alert($('#<%=ddlReportPeriods.ClientID %>').val()); 
+0

Ese código, de hecho, obtiene el valor de un elemento, no el ID. Use algo como Firebug o una consola de desarrollador para inspeccionar su página real. Quizás desee el contenido de texto del '

Respuesta

28

tratar

alert($('#<%=ddlReportPeriods.ClientID %> option:selected').text()); 
+2

Esta fue la sintaxis que funcionó, aunque hay un error tipográfico, debería decir: alerta ($ ('# <% = ddlReportPeriods.ClientID% > opción: seleccionado '). text()); – user517406

+0

contento de ayudar :) – Devjosh

+0

¡Gracias por publicar! – user517406

4

si es lo mismo que un cuadro de html desplegable regular puede tratar

$('#<%=ddlReportPeriods.ClientID %> option:selected').val() 
+0

Error de sintaxis, expresión no reconocida: # <% = contactStateDDL.ClientID%> opción: seleccionada – JSON

0

Si lo que desea es el contenido textual de la etiqueta actualmente seleccionada <option> bajo su elemento <select>, puede hacer esto:

var $sel = $('#<%=ddlReportPeriods.ClientID %>'); 
alert($($sel.attr('options')[$sel.attr('selectedIndex')).text()); 

edición — las otras respuestas con sugerencias para utilizar el: calificativo "seleccionado" son mejores que esto ...

1

Prueba esto:

alert($('#<%=ddlReportPeriods.ClientID %> OPTION:selected').val()); 
4

Usted puede establecer un atributo de Control ASP.NET que no cambiará la ID en tiempo de ejecución, es decir

ClientIDMode = "Static" 

Luego tratar,

alert($("#ddlReportPeriods option:selected").val()); 
0
<asp:DropDownList ID="ddMainMenuList" runat="server" class="form-control"> 
         </asp:DropDownList> 

$("[id*=ddMainMenuList]").val("SomeValue"); 

Ésta es la forma en que se puede asignar un valor a desplegables o cuadro de texto o cualquier otro control asp. Solo tienes que mencionar "id".

+0

La pregunta requiere una solución para OBTENER el valor, no para cambiarlo. –

Cuestiones relacionadas