Dojo ComboBox自动完成

时间:2011-01-02 07:03:35

标签: php javascript ajax zend-framework dojo

我使用Zend Framework创建Zend_Dojo_Form_Element_ComboBox类型的表单元素。我将dojox.data.QueryReadStore设置为商店类型。

最后的效果是我的HTML中有输入。查询商店,我收到一个可能的值列表。我可以选择一个或输入我自己的。到目前为止一切都还可以。

存储在字段中的数据不是商店的标识符。商店数据如下: { “标识符”: “ID”, “项目”:[   { “ID”:18, “D1”: “XXXXXX”, “D2”: “YYYYYYYYYY”},   { “ID”:22, “D1”: “XXXXXX”, “D2”: “ZZZZZZ”},   { “ID”:18, “D1”: “xxxxxxaaaa”, “D2”: “AAAAAAAAAAAA”} ], “标签”: “东西”} 假设d1被视为一个值。

现在我想使用d2填充表单中的另一个字段。我该怎么办?我可以在Zend方面做到吗?我尝试过dojo.connect到组合框,但不知道如何从商店中检索正确的数据。

1 个答案:

答案 0 :(得分:0)

您可以使用dojo.connect连接到组合框的onChange事件。组合框具有属性item,该属性引用数据存储中的当前所选项。您可以使用它从商店获取数据。例如:

dojo.connect(comboBox, 'onChange', function() {
    if (comboBox.item) {
        var d2 = store.getValue(comboBox.item, "d2");
        //Use d2
    }
});