Dojo组合框指定标签和值

时间:2014-06-04 22:47:46

标签: javascript dojo

我正在尝试关注如何使用dojo设置组合框的this示例,但想知道如何以编程方式指定名称和值。所提供的示例对标签和值使用相同的值 - 在大多数情况下可能不是人们想要的。

{
    "identifier": "abbreviation",
    "label": "name",
    "items": [
        { "abbreviation": "AL", "name": "Alabama" },

        ... other 48 states here ...

        { "abbreviation": "WY", "name": "Wyoming" }
    ]
}

1 个答案:

答案 0 :(得分:0)

如果您正在询问如何替换示例中的硬编码列表,那么您需要执行此操作。在上面的场景中,项目用于指定数据,这些数据是值的数组(缩写和名称)。

在您的情况下,您需要从数据源获取数据/对象。一旦您将该数据/对象公开给视图。完成此操作后,您现在可以执行以下结构。

您存储的确是上面的项目,但stateStore将是一个包含数据源数据的java脚本数组。

stateStore = [{"abbreviation": "AL", "name": "Alabama"},
               ... other 48 states here ...,
              { "abbreviation": "WY", "name": "Wyoming" }]

// create FilteringSelect widget, populating its options from the store
 var select = new dijit.form.FilteringSelect({
              name: "stateSelect",
              placeHolder: "Select a State",
              store: stateStore
              }, "stateSelect"); 

<强> HTML

<div style="width:50%;float: left;">
 <h1>dijit.form.Select</h1>
 <label for="stateSelect">State:</label>
 <div id="stateSelect"></div>
</div>