Dojo:FilteringSelect和ItemFileWriteStore

时间:2013-01-31 15:37:15

标签: javascript dojo

我正在使用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属性?

1 个答案:

答案 0 :(得分:1)

您可以在从URI返回的JSON中指定标识符属性:

{"identifier" : "id", "label" : "name", "items":[{"id":1003,"description":"And Item","name":"Items"}]}