#combobox #dojo
#поле со списком #dojo
Вопрос:
Я взял этот пример с сайта dojo. Однако у меня это не работает.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<head>
<style type="text/css">
body, html { font-family:helvetica,arial,sans-serif; font-size:90%; }
</style>
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojo/dojo.xd.js"
djConfig="parseOnLoad: true">
</script>
<script type="text/javascript">
dojo.require("dijit.form.FilteringSelect");
dojo.require("dojo.data.ItemFileReadStore");
</script>
<script type="text/javascript">
dojo.addOnLoad(function() {
var stateStore = new dojo.data.ItemFileReadStore({
url: "../../_static/js//dijit/tests/_data/states.json"
});
var filteringSelect = new dijit.form.FilteringSelect({
id: "stateSelect",
name: "state",
value: "KY",
store: stateStore,
searchAttr: "name"
},
"stateSelect");
});
</script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dijit/themes/claro/claro.css"
/>
</head>
<body class=" claro ">
<input id="stateSelect">
<p>
<button onClick="alert(dijit.byId('stateSelect').get('value'))">
Get value
</button>
<button onClick="alert(dijit.byId('stateSelect').get('displayedValue'))">
Get displayed value
</button>
</p>
<!-- NOTE: the following script tag is not intended for usage in real
world!! it is part of the CodeGlass and you should just remove it when
you use the code -->
<script type="text/javascript">
dojo.addOnLoad(function() {
if (document.pub) {
document.pub();
}
});
</script>
</body>
Ответ №1:
Прежде всего, вам следует удалить этот код:
<!-- NOTE: the following script tag is not intended for usage in real
world!! it is part of the CodeGlass and you should just remove it when
you use the code -->
<script type="text/javascript">
dojo.addOnLoad(function() {
if (document.pub) {
document.pub();
}
});
</script>
И вторая проблема заключается в заполнении ItemFileReadStore. У вас действительно есть этот файл "../../_static/js//dijit/tests/_data/states.json"
на вашем сайте? Если нет, вам следует создать его (или исправить путь к файлу) или использовать другой метод для заполнения ItemFileReadStore.