gpt4 book ai didi

javascript - 如何使用 JsonRest 存储设置 Dojo FilteringSelect 的默认值

转载 作者:行者123 更新时间:2023-11-28 21:13:32 26 4
gpt4 key购买 nike

我已成功设置 FilteringSelect 以使用 JsonRest 存储动态查询服务器中的项目。我的问题是当我尝试最初设置具有特定值的下拉列表时。

<div id="ddThings"></div><script type="text/javascript">    dojo.ready(function () {            var storeThings = new dojo.store.JsonRest({ target: "/Things/" });            var ddThings = new dijit.form.FilteringSelect({                name: "thingId",                searchAttr: "name",                autoComplete: true,                value: "5",                missingMessage: "This is required",                placeHolder: "Select a Thing",                store: dojo.data.ObjectStore({ objectStore: storeThings })        }, "ddThings");        ddThings.startup();        //ddThings.set("value", "5");    });

当我将值设置为“5”或使用 ddThings.set 时,我可以看到过滤选择查询我的服务器并传入“id”值。我返回一个包含单个项目的集合。我希望它用我返回的项目填充过滤选择。但是,什么也没发生。

返回的 JSON 如下所示

[   {      "id":"5",      "name":"Example"   }]

一个有趣的注意事项是,如果我将“displayedValue”设置为“Example”(无论名称是什么),那么我可以看到它到达服务器,找到匹配项并将其返回,并且它实际上会使用匹配项填充下拉列表。我想要这种行为,但通过使用项目的值/id,而不是它的显示/名称。

最佳答案

当 JsonRest Store 通过 ID 发出对特定项目的请求时,响应必须是单个项目而不是集合。

{   "id":"5",   "name":"Example"}

关于javascript - 如何使用 JsonRest 存储设置 Dojo FilteringSelect 的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8141196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com