У меня возникла проблема с фильтрациейSelect и хранилищем, созданным с помощью dojox.data.XmlStore. После того, как элемент загружен, он отображает идентификатор вместо заголовка (из displayValue).dijit/form/FilteringSelect и dojox.data.XmlStore
After the page is loaded - The unexpected result
Как я могу это исправить? Есть ли обходной путь? (Может быть, у меня есть только две левые руки ...)
HTML,-файла:
<!DOCTYPE html>
<html >
<head>
<link rel="stylesheet" href="resources/js/dojo/dijit/themes/claro/claro.css">
<script>dojoConfig = {parseOnLoad: true}</script>
<script src='resources/js/dojo/dojo/dojo.js'></script>
<script>
dojo.require("dojox.data.XmlStore");
var store = new dojox.data.XmlStore({url: "test.xml", rootItem: "states", keyAttribute:"id", label:"name"});
require([
"dojo/store/Memory", "dijit/form/FilteringSelect", "dojo/domReady!"
], function(Memory, FilteringSelect){
var filteringSelect = new FilteringSelect({
id: "stateSelect",
name: "state",
displayedValue : "test",
store: store,
searchAttr: "name",
labelAttr:'name',
labelType: "text"
}, "stateSelect").startup();
});
</script>
</head>
<body class="claro">
<input id="stateSelect">
</body>
</html>
"text.xml":
<?xml version="1.0" encoding="UTF-8"?>
<states>
<state>
<id>3</id>
<name>important</name>
</state>
<state>
<id>4</id>
<name>also important</name>
</state>
<state>
<id>5</id>
<name>test</name>
</state>
<state>
<id>8</id>
<name>scumm</name>
</state>
</states>