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 :)

Foi útil?

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);
}

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top