Frage

Ich versuche, die Werte für ein Popup-Menü in Dashcode programmatisch zu setzen. Ich kann den Text / Wert einiger statisch definiert auch keine ändern (vom Inspektor), aber nicht hinzufügen oder entfernen können. Wenn die Ansicht initialisiert wird eine variable Anzahl von Optionen nehmen müssen.

    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";

Wie kann ich die Liste ändern? (LMGTFY antwortet nicht erforderlich:)

War es hilfreich?

Lösung

Ich löse es so am Ende:

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

Andere Tipps

Nur ein Stich aber könnten Sie nicht das ganze Pop-up in JavaScript bauen und die Anzahl der Elemente in der Dropdown / Popup gesetzt durch Parameter. Dann, wenn Sie eines der Elemente ändern möchten, können Sie die JavaScript mit neuen Parametern aufrufen?

oder habe ich falsch verstehen die Frage.

Wenn ich versuche, die Pop-up-Menüelemente dynamisch ähnlich zu binden, wie Sie das tun, Ich sehe die Werte i zuweisen Menüpunkte sind korrekt, aber nicht die Elemente Pop-up in dem Pop-up angezeigt.

Gibt es etwas, was ich vermisst habe? Hier ist mein Code:

var ddlCurrencyCode = document.getElementById ( 'ddlCurrencyCode'); if (ddlCurrencyCode.hasChildNodes ()) {     while (ddlCurrencyCode.childNodes.length> = 1) {           ddlCurrencyCode.removeChild (ddlCurrencyCode.firstChild);
    } }

für (var i = 0; i         var ddlItem = document.createElement ( "ddlItem");         ddlItem.text = row [ 'Schlüssel'];         ddlItem.value = row [ 'Wert'];         ddlCurrencyCode.appendChild (ddlItem);
}

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top