2011-08-10 34 views
1

這裏是我的html文件:數據道場道具的keyAttr不起作用

...

<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'中傳遞給background-application.in'id',我已經通過了一個錯誤的post action.can有人幫我擺脫這個問題?

回答

0

使用dijit/form/FilteringSelect不是dijit/form/ComboBox

您可以輸入任何文本到ComboBox因此它不能返回id,這是它返回文本(或標籤或searchAttr)的原因。 FilteringSelect只允許選擇其中一個選項,因此它可以返回id

看到它在行動和實驗在jsFiddle:http://jsfiddle.net/phusick/QzQ38/