我有一个dojo dijit.filering.select,它填充了dojo.data.ItemFileReadStore中的值。 一切都工作正常,除了我希望过滤选择自动填充itemFileReadStore中的第一个值。目前它正在加载它们作为按照规范单击向下箭头时显示的选项列表。我想改为filterSelect加载第一个值。我该怎么做呢?出于某种原因,我无法弄明白。任何帮助都将非常感激!
亲切的问候 尼克弗兰德森
<script type="text/javascript">
function updateOptions(){
var itemId = dijit.byId("item_select").attr("value");
var jsonStore = new dojo.data.ItemFileReadStore({ url: "/options/get-options-json/itemId/" + itemId });
optionSelect.attr("store", jsonStore);
}
</script>
<select dojoType="dijit.form.FilteringSelect"
name="option_select"
id="option_select"
labelAttr="name"
required="true"
jsId="optionSelect">
</select>
答案 0 :(得分:1)
对我来说有一种黑客的感觉(更不用说你有点迟了)但是我这样做是为了达到同样的目的:
var valueSet = false;
filteringSelect.store.fetch({
query:{ id:"*" },
onItem : function(item, request) {
if (!valueSet) {
filteringSelect.setValue(request.store.getValue(item, "id"));
valueSet = true;
}
}
});
答案 1 :(得分:0)
这可能有效:
optionSelect.attr('displayedValue', itemLabel);
其中itemLabel是您希望显示的项目的标签(取决于您的数据存储在内部的样子)。这应该设置文本框内容和隐藏字段(使用相应的itemValue)。