我正在使用Dojo 1.5构建Web应用程序。目前,我正在尝试创建一个Form来填充数据库中的一些数据,这个表单需要一个ComboBox,其中包含一些预加载的数据供用户选择。我要做的是声明组合ItemFileWriteStore
作为数据源,FilteringSelect
作为Widget。 ItemFileWriteStore
是这样的:
<div dojoType="dojo.data.ItemFileWriteStore" jsId="itemsStore" url="rest/items">
</div>
rest/items
URI返回此信息:
{"items":[{"id":1003,"description":"And Item","name":"Items"}]}
我的Combo小部件是这样的:
<input dojoType="dijit.form.FilteringSelect" name="item_edited"
store="itemsStore" searchAttr="name" id="item_edited" required="true" />
当我加载表单时,我可以看到FilteringSelect
包含来自REST服务的数据。但是当我选择Combo中唯一的项目并发出POST请求来保存数据时,我在Firebug中看到了这一点:
Parameters (application/x-www-form-urlencoded)
form_item 123
another_form_item foo
item_edited 1
所以我希望JSON类型中的属性id
(返回的唯一项目是 1003 )被发送到服务器,但我得到的是儿子顺序位置。如何告诉FilteringSelect
使用作为值返回的JSON的id
属性?
答案 0 :(得分:1)
您可以在从URI返回的JSON中指定标识符属性:
{"identifier" : "id", "label" : "name", "items":[{"id":1003,"description":"And Item","name":"Items"}]}