Comment définir les valeurs du menu pop-up programme dans Dashcode
-
20-09-2019 - |
Question
Je suis en train de définir les valeurs d'un menu contextuel dans Dashcode programme. Je peux modifier le texte / valeur de certains celles par défaut définies statiquement (de l'inspecteur), mais pas ajouter ou supprimer. Lorsque la vue démarre, il doit prendre un nombre variable d'options.
var popup = document.getElementById('popup');
//popup.options = []; /* Doesn't clear the list */
//popup.options.length = 0; /* Doesn't clear the list */
popup.options[0].text = "Option 1";
popup.options[0].value = "123";
Comment puis-je modifier la liste? (LMGTFY les réponses non requis:)
La solution
Je l'ai résolu comme celui-ci à la fin:
//remove all
if (popup.hasChildNodes()) {
while (popup.childNodes.length >= 1) {
popup.removeChild(popup.firstChild);
}
}
//add new
$.each(items, function(i, item) {
var option = document.createElement("option");
option.text = item.name;
option.value = item.id;
popup.appendChild(option);
});
Autres conseils
Juste un coup de couteau, mais vous ne pourriez pas construire l'ensemble pop-up en JavaScript et définir le nombre d'éléments dans le menu déroulant / pop-up en passant des paramètres. Ensuite, lorsque vous souhaitez modifier des éléments que vous pouvez appeler le JavaScript avec de nouveaux paramètres?
Ou ai-je mal compris la question.
lorsque je tente de lier les éléments du menu pop-up dynamique similaire comme vous le faites, je vois les valeurs i affecter à des éléments de menu contextuel sont corrects, mais non des éléments sont affichés dans la fenêtre contextuelle.
Y at-il quelque chose que je suis absent? Voici mon code:
var ddlCurrencyCode = document.getElementById ( 'ddlCurrencyCode');
si (ddlCurrencyCode.hasChildNodes ()) {
tandis que (ddlCurrencyCode.childNodes.length> = 1) {
ddlCurrencyCode.removeChild (ddlCurrencyCode.firstChild);
}
}
for (var i = 0; i
}