Como definir valores de menu pop -up programaticamente no painel
-
20-09-2019 - |
Pergunta
Estou tentando definir os valores para um menu pop -up no DashCode programaticamente. Posso alterar o texto/valor de alguns padrão padrão definido estaticamente (do inspetor), mas não adicioná -los ou removê -los. Quando a visualização é inicializada, ele deve ter um número variável de opções.
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";
Como posso modificar a lista? (Lmgtfy respostas não necessárias :)
Solução
Eu resolvi assim no final:
//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);
});
Outras dicas
Apenas uma facada, mas você não conseguiu criar todo o pop -up em JavaScript e definir o número de itens no suspenso / pop -up passando parâmetros. Então, quando você deseja alterar algum dos itens, você pode ligar para o JavaScript com novos parâmetros?
Ou eu entendi mal a pergunta.
Quando tento vincular os itens de menu pop-up dinamicamente semelhantes aos que você faz, vejo os valores que atribuo aos itens de menu pop-up estão corretos, mas os itens não são exibidos no pop-up.
Tem algo que estou perdendo ? Aqui está o meu código:
var ddlCurrencyCode = document.getElementById ('ddlCurrencyCode'); if (ddlCurrencyCode.haschildnodes ()) {while (ddlCurrencyCode.childnodes.length> = 1) {ddlCurrencyCode.removeChild (ddlCurrencyCode.firstchild);
}
}
for (var i = 0; i <resultado.rows.length; ++ i) {var row = resultado.rows.item (i);
var ddlitem = document.createElement ("ddlitem"); ddlitem.text = linha ['key']; ddlitem.value = linha ['value']; ddlCurrencyCode.appendChild (ddlitem);
}