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"));
var newOption = "<option value='"+"1"+"'>Some Text</option>";
$("#ddlCategory").append(newOption);
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?
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.
Et si vous le changez à
$("#ddlCategory").append($("<option></option>").attr("value", "1").text("Some Text"));
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.