2013-07-30 4 views
3

Я создал 2 раскрывающихся списка Dojo, используя dijit.form.Select, что я заполняю 2 ArrayLists. Когда пользователь выбирает параметр из первого раскрывающегося списка, мне нужно, чтобы во втором выпадающем меню была отключена опция. Я не могу понять, как это сделать. Можно ли отключить единую опцию из раскрывающегося списка программно? Что-то вроде ...Как отключить одну опцию в dijit.form.Select?

if(this.dropDown1.get("value") == "FirstOption") { 
    //this.dropDown2.get("value", "AnotherOption").set("disabled", true); ?? 
} 

ответ

2

Попытки получить значение, которое вы хотите от dropDown2, и установить его отключило свойство истинно, непосредственно (нет сеттера, это просто обычный Java-объекта). Затем вызовите dropDown2.startup(), чтобы внести изменения в пользовательский интерфейс. Пример:

require(["dojo/_base/array"], 
function(array) { 

    var self = this, 

    opt = array.filter(
        self.dropDown2.options, 
        "return item.value == '" + self.dropDown2.get("value") + "'" 
      ).pop(); 

    opt.disabled = true; 

    this.startup(); 

}); 
+1

Это прекрасно работает! Спасибо! – lomokat

Смежные вопросы