data-dojo-props的keyAttr不起作用

时间:2011-08-10 15:14:38

标签: dojo

这是我的html文件:

...

<span data-dojo-id="staffStore" data-dojo-type="dojo.data.ItemFileReadStore" data-dojo-props='data:../../staff.json'></span>
<input data-dojo-type="dijit.form.ComboBox"
data-dojo-props="store: staffStore,
keyAttr: 'id',
searchAttr: 'staff_name',
autoComplete: true,
id: 'staff_name',
name:'staff_name',
value: '' "/>

...

,json数据如下:

{
    identifier: "id";,
    label: "id",
    items: [{id: 982483700, staff_name: "guanyu";},{id: 582057769, staff_name: "zhangfei";},{id: 166802994, staff_name: "zhaoyun";}]
}

这是我的问题: 当我使用post方法时,我在searchAttr中有'staff_name':'staff_name'传递给后台应用程序,但我希望keyAttr中的'id':'id'传递给background-application.in一个单词,我已经通过了一个错误的后期行动。有人帮助我摆脱这个问题吗?

1 个答案:

答案 0 :(得分:0)

使用dijit/form/FilteringSelect而非dijit/form/ComboBox

您可以在ComboBox中输入任何文字,因此无法返回id,这就是它返回文字(或标签或searchAttr)的原因。 FilteringSelect只允许选择其中一个选项,因此它可以返回id

在jsFiddle中查看它的实际操作并进行实验:http://jsfiddle.net/phusick/QzQ38/