dojo动态加载DropDownSelect小部件

时间:2009-10-29 16:09:41

标签: javascript dojo

我有两个DropDownSelect小部件添加到我需要的是动态加载第二个DropDownSelect小部件中的数据,因为第一个DropDownSelect小部件改变了我如何在DropDownSelect小部件中加载数据programitacally。

Abdul khaliq

2 个答案:

答案 0 :(得分:5)

我认为你需要这样的东西:

      dojo.connect(s1, 'onChange', function(value) {

      console.log(value); // selected in s1 value

      s2.addOption([{ 
        label: "new option1", value: 1
      },
      { 
        label: "new option2", value: 2
      },
      { 
        label: "new option3", value: 3
      }]);
    });

在上面的这个例子中,当s1的选定值发生变化时,我们将3个新选项加载到s2中。您只能将一个选项传递给addOption方法而不是数组:

    s2.addOption({ label: "new option1", value: 1 }

也许你还想先清除s2:

    s2.options = [];

答案 1 :(得分:1)

DropDownSelect有一个“onChange”方法,您可以使用addOption之类的方法传递一个匿名函数,该函数为第二个选择构建选项列表:

var s1 = new dojox.form.DropDownSelect();
var s2 = new dojox.form.DropDownSelect();
s1.onChange(function() {
  s2.addOption(new Option("text","value"));
});