2011-11-03 17 views
14

Estoy tratando de usar el siguiente código para agregar una opción a una lista desplegable en ASP.NET. ¿Alguna idea de por qué esto no funciona? Intenté Googlear pero no entiendo por qué esto no funcionará.¿Cómo agrego una opción a una lista desplegable usando jQuery?

¿Qué debe hacer el código? Tengo una lista desplegable de ASP.NET. Deseo acceder a la lista desplegable por nombre y agregar un elemento a la lista. El elemento debe tener un texto descriptivo de "Some Text" y un valor de "123".

Gracias!

$("#ddlCategory").append($("<option>Some Text</option>").val(1).html("123")); 
+0

$ ("") no es un selector válida ... Lea cómo utilizar el selector de jQuery ... –

+0

probar esto si te gusta usar javascript http: // chiragrdarji. wordpress.com/2007/06/06/add-items-in-drop-down-list-or-list-box-using-javascript/ –

+0

Esto no hará que se guarde en viewstate. Asegúrese de no estar confiando en el comportamiento de postback normal/viewstate si hace esto. Si es así, debe exponer un método web en su lugar y llamarlo asincrónico. – Nikki9696

Respuesta

11
var newOption = "<option value='"+"1"+"'>Some Text</option>"; 
$("#ddlCategory").append(newOption); 
+0

Esto funcionó. También cambié de usar la ID de control a usar un nombre de clase. El cambio de selector no funcionó por sí mismo. – DenaliHardtail

0

¿Ha probado que 1) el jQuery es correcta y funciona de una archivo HTML plano y 2) que está utilizando el Id. correcto - ASP.NET cambia Ids dinámicamente o n elementos que runat = "server", por lo que podría intentar:

$('#<%=ddlCategory.ClientID%>').append(...etc etc 

que les permite conocer la identificación correcta de la clase de página ASP.NET.

+0

Lo recordaba durante la depuración. Ahora estoy usando un selector de clase en lugar de id. – DenaliHardtail

0

¿Qué pasa si lo cambia a

$("#ddlCategory").append($("<option></option>").attr("value", "1").text("Some Text")); 
0

Tratar de añadir opciones de una lista desplegable con ASP.Net código de cliente es una mala idea. Introduce todo tipo de problemas de devolución de datos. Ver this link para más detalles. Debe completar el menú desplegable completamente del lado del cliente o activar una devolución de datos parcial para completar la lista.

Cuestiones relacionadas