Как программно установить значения всплывающего меню в Dashcode

StackOverflow https://stackoverflow.com/questions/2071481

  •  20-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь программно установить значения для всплывающего меню в Dashcode.Я могу изменить текст / значение некоторых статически определенных значений по умолчанию (из инспектора), но не добавлять или удалять их.Когда представление инициализируется, оно должно принимать переменное количество опций.

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

Как я могу изменить список?(Ответы LMGTFY не требуются :)

Это было полезно?

Решение

В итоге я решил это так:

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

Другие советы

Просто попытка, но не могли бы вы создать все всплывающее окно на JavaScript и установить количество элементов в раскрывающемся/всплывающем меню, передав параметры.Тогда, когда вы захотите изменить какой-либо из элементов, вы можете вызвать JavaScript с новыми параметрами?

Или я неправильно понял вопрос.

когда я пытаюсь привязать пункты всплывающего меню динамически, как это делаете вы, я вижу, что значения, которые я присваиваю пунктам всплывающего меню, верны, но ни один из пунктов не отображается во всплывающем окне.

Есть ли что - то , чего я не понимаю ?Вот мой код:

var ddlCurrencyCode = document.getElementById('ddlCurrencyCode');if (ddlCurrencyCode.hasChildNodes()) { while (ddlCurrencyCode.childNodes.длина >= 1) { ddlCurrencyCode.removeChild(ddlCurrencyCode.firstChild);
} }

для (var i = 0;i < результат.строки.длина;++i) { переменная строка = результат.строки.элемент (i);
var ddlItem = document.createElement("ddlItem");ddlItem.text = строка ['ключ'];ddlItem.value = строка['значение'];ddlCurrencyCode.appendChild(ddlItem);
}

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top