web-dev-qa-db-fra.com

Comment ajouter une option à une liste déroulante à l'aide de JQuery?

J'essaie d'utiliser le code suivant pour ajouter une option à une liste déroulante dans ASP.NET. Des idées pourquoi cela ne fonctionne pas? J'ai essayé de googler mais je ne peux pas comprendre pourquoi cela ne fonctionnera pas.

Qu'est-ce qui devrait faire le code? J'ai une liste déroulante ASP.NET. Je souhaite accéder à la liste déroulante par nom et ajouter un élément à la liste. L'article doit avoir du texte descriptif de "certains texte" et une valeur de "123".

Merci!

$("#ddlCategory").append($("<option>Some Text</option>").val(1).html("123"));
17
DenaliHardtail
var newOption = "<option value='"+"1"+"'>Some Text</option>"; 
$("#ddlCategory").append(newOption);
13
Mark Schultheiss

Tu peux essayer

$("#ddlCategory").append($("<option value='123'>Some Text</option>");

Ou

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

2ème extrait de code de cette question Quel est le meilleur moyen d'ajouter des options à une sélection d'un tableau avec jQuery?

9
Jason

Avez-vous testé que 1) Votre jQuery est correcte et fonctionne dans un fichier HTML plat et 2) que vous utilisez l'identifiant correct - ASP.NET modifications des identifiants de manière dynamique sur des éléments qui runat = "serveur", vous souhaiterez donc peut-être essayer:

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

Cela vous obtiendra l'identifiant correct de la classe de page ASP.NET.

0
user369142

Et si vous le changez à

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

Essayer d'ajouter des options à une liste déroulante ASP.NET avec le code côté client est une mauvaise idée. Il introduit toutes sortes de problèmes de post-relance. Voir Ce lien pour plus de détails. Vous devriez soit remplir la liste déroulante du côté du client, soit déclencher un post-plan partiel pour remplir la liste.

0
arb