我使用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到组合框,但不知道如何从商店中检索正确的数据。
答案 0 :(得分:0)
您可以使用dojo.connect
连接到组合框的onChange
事件。组合框具有属性item
,该属性引用数据存储中的当前所选项。您可以使用它从商店获取数据。例如:
dojo.connect(comboBox, 'onChange', function() {
if (comboBox.item) {
var d2 = store.getValue(comboBox.item, "d2");
//Use d2
}
});