保持Dojo选择选项 - 窗格在单击时可见

时间:2014-10-21 15:56:05

标签: javascript dojo

Dijit / Form / Select选项的默认行为是单击它时 - 它将关闭选项窗格并将值指定给Select。

我希望即使您点击其中任何一个选项窗格也能保持可见状态。因此,只有在您点击它之外时,窗格才会消失。

如何防止选项窗格消失?

2 个答案:

答案 0 :(得分:2)

您可以向closeDropDown函数添加建议。

aspect.around(myselect, 'closeDropDown', function(closeDropDown) {
  return function(focus) {
    if (focus == false) {
      closeDropDown.apply(this, arguments);
    }
  }
})

参见工作示例。

http://jsfiddle.net/RichAyotte/a85y8hnm/

答案 1 :(得分:1)

您可以加入"更改"选择小部件的事件,然后每次值更改时调用它的openDropDown()函数。它不是100%的解决方案,但它可能会让你到达你想要的地方。

这是一个带有示例的jsfiddle:http://jsfiddle.net/kagant15/3st69xbv/

var myselect = new Select({
    name: "myselect",
    options: [
        { label: "TN", value: "Tennessee" },
        { label: "VA", value: "Virginia", selected: true },
        { label: "WA", value: "Washington" },
        { label: "FL", value: "Florida" },
        { label: "CA", value: "California" }
    ]
}, "myselect");

myselect.on("change", function(){
    this.openDropDown();
})