这是我的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一个单词,我已经通过了一个错误的后期行动。有人帮助我摆脱这个问题吗?
答案 0 :(得分:0)
使用dijit/form/FilteringSelect
而非dijit/form/ComboBox
。
您可以在ComboBox
中输入任何文字,因此无法返回id
,这就是它返回文字(或标签或searchAttr
)的原因。 FilteringSelect
只允许选择其中一个选项,因此它可以返回id
。
在jsFiddle中查看它的实际操作并进行实验:http://jsfiddle.net/phusick/QzQ38/