2011-11-03 16 views
14

Sto cercando di utilizzare il seguente codice per aggiungere un'opzione a un elenco a discesa in ASP.NET. Qualche idea sul perché questo non funziona? Ho provato su Google ma non riesco a capire perché questo non funzionerà.Come aggiungo un'opzione a un elenco a discesa usando jQuery?

Che cosa fa il codice? Ho un elenco a discesa ASP.NET. Voglio accedere all'elenco a discesa per nome e aggiungere un elemento all'elenco. L'elemento dovrebbe avere il testo descrittivo di "Some Text" e un valore di "123".

Grazie!

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

$ ("") non è un selettore valida ... Si prega di leggere come utilizzare il selettore in jQuery ... –

+0

provare questo uno se si desidera utilizzare javascript http: // chiragrdarji. wordpress.com/2007/06/06/add-items-in-drop-down-list-or-list-box-using-javascript/ –

+0

Questo non verrà memorizzato in viewstate. Assicurati di non affidarti al normale comportamento postback/viewstate se lo fai. Se lo sei, dovresti esporre un metodo web e chiamarlo asynch. – Nikki9696

risposta

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

Questo ha funzionato. Sono anche passato dall'uso dell'ID di controllo all'utilizzo di un nome di classe. Il cambio del selettore non ha funzionato da solo. – DenaliHardtail

0

Avete provato che 1) il vostro jquery è corretta e lavora in un file HTML flat e 2) che si sta utilizzando l'ID corretto: ASP.NET modifica gli ID in modo dinamico o n elementi che runat = "server", così si potrebbe desiderare di provare:

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

che ti porterà l'ID corretto dalla classe pagina ASP.NET.

+0

Ricordato che durante il debug. Ora sto usando un selettore di classe invece di id. – DenaliHardtail

0

Che cosa succede se si cambia a

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

Cercando di aggiungere opzioni a un elenco a discesa ASP.Net con il codice lato client è una cattiva idea. Introduce tutti i tipi di problemi di postback. Vedi this link per maggiori dettagli. Devi compilare il menu a discesa completamente lato client o attivare un postback parziale per riempire l'elenco.

Problemi correlati