0

我正在使用 Dojo 1.5 构建 Web 应用程序。目前,我正在尝试制作一个表单来填充数据库中的一些数据,并且这个表单需要一个带有一些预加载数据的 ComboBox 供用户选择。我要做的是将该组合声明ItemFileWriteStore为数据源和FilteringSelect小部件。ItemFileWriteStore事情是这样的:

<div dojoType="dojo.data.ItemFileWriteStore" jsId="itemsStore" url="rest/items">
</div>

rest/itemsURI 返回:

{"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

所以我希望idJSON 类型的 d 属性(返回的唯一项目是1003)被发送到服务器,但我得到的是子序号位置。如何告诉FilteringSelect使用id作为值返回的 JSON 的属性?

4

1 回答 1

1

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

{"identifier" : "id", "label" : "name", "items":[{"id":1003,"description":"And Item","name":"Items"}]}
于 2013-01-31T22:13:05.097 回答