comment définir les valeurs de zone de liste déroulante dynamiquement en javascript
c'est comment je règle la valeur d'une zone de liste déroulante à l'aide de dwr appel,
var reportID = '<%=reportid%>';
var reportName = '<%=reportname%>';
loadReportNames(reportUserID);
function loadReportNames(reportUserID){
CustomiseReportAction.getReportNames(reportUserID, addReportNamesDropDown);
}
function addReportNamesDropDown(resultMap){
dwr.util.removeAllOptions("reportnames");
dwr.util.addOptions("reportnames",resultMap);
}
après le chargement de la liste déroulante j'ai mis les valeurs de chargé de combo comme ça,
document.getElementById("reportnames").value=reportID;
mais la reportID n'est pas définie,
quel pourrait être le problème merci de m'aider à résoudre ce problème.
UPDATE :
function addCombo() {
var reportID = '<%=reportid%>';
var reportName = '<%=reportname%>';
var textb = document.getElementById("reportnames");
var option = document.createElement("option");
option.text = reportName;
option.value = reportID;
option.selected="selected";
try {
textb.add(option, null); //Standard
}catch(error) {
textb.add(option); //IE only
}
textb.value = "";
}
utilisé la méthode ci-dessus, il me donne pas une exception, mais aucun résultat.
Ce qui concerne
- Si le
var reportID =
... est placé dans une fonction, suppression de lavar
avant lareportID =
... - voir ma mise à jour de question
- Je ne pouvais pas reproduire l'erreur à l'aide de l'information mise à jour. L'option a la bonne
'<%=reportname%>'
texte et'<%=reportid%>'
valeur. Par "lang n'est pas définie", ne vous signifie que le résultat une fois que l'option a été ajoutée, elle n'a pas de texte et sans aucune valeur? - ces deux viennent de session, qui sont déjà présents dans la zone de liste déroulante dire
reportid =1 and reportname = sample
en tout cas merci pour l'intérêt
Vous devez vous connecter pour publier un commentaire.
Modifier: je viens de vérifié et il devrait fonctionner comme vous l'avez fait, donc ignorer mon post original. Êtes-vous sûr que le contenu de reportID correspond exactement à l'une des options? Si c'est un nombre, pas une chaîne, vous voudrez peut-être essayer
Original:
Pour régler l'option sélectionnée d'une zone de liste déroulante (en supposant que tu veux dire html "select"), vous devez définir le "sélectionné" attribut de l'option souhaitée pour vrai.
Vous aurez besoin d'un moyen d'identification de l'option, je le ferais par la sauvegarde de la reportID en elle. Ensuite, vous pouvez remplacer le ... avec:
Si vous définissez l'id du rapport que la "id"-l'attribut de chaque option, vous pourriez même le faire comme ceci:
reportnames
est une boîte combo reportID est la valeur retournéeex : 1 or 2 or etc
déjà, il y a certaines valeurs dans la liste déroulante qui a les mêmes valeurs dereportID
donc je veux mettre en valeur et rendre sélectionné.Je n'ai pas supprimé la valeur plutôt j'ai ajouté le code suivant, il a résolu moi le problème.