Javascript 带错误的Dojo组合框;store.fetch不是一个函数;
我看不出有什么问题,但错误控制台显示:“\u 21.store.fetch不是一个函数”。组合框没有填充。我试过Memory和ItemFileWriteStore,都不起作用!发生了什么?我正在使用Dojo1.6.1 btw。 代码如下:Javascript 带错误的Dojo组合框;store.fetch不是一个函数;,javascript,combobox,dojo,Javascript,Combobox,Dojo,我看不出有什么问题,但错误控制台显示:“\u 21.store.fetch不是一个函数”。组合框没有填充。我试过Memory和ItemFileWriteStore,都不起作用!发生了什么?我正在使用Dojo1.6.1 btw。 代码如下: <html> <head> <script type="text/javascript" src="dojo/dojo.js.uncompressed.js"></script> <link rel="st
<html>
<head>
<script type="text/javascript" src="dojo/dojo.js.uncompressed.js"></script>
<link rel="stylesheet" type="text/css" href="dojo/resources/dojo.css"></style>
<link rel="stylesheet" type="text/css" href="dijit/themes/claro/claro.css"></style>
<script type="text/javascript">
dojo.require("dijit.form.ComboBox");
dojo.require("dojo.store.Memory");
dojo.require("dojo.data.ItemFileWriteStore");
dojo.require("dojo.data.ItemFileReadStore");
</script>
<script type="text/javascript">
dojo.ready(function(){
var rateStore, rate;
rateStore = new dojo.store.Memory({
data: [
{id:1, name:"1 X"},
{id:2, name:"2 X"},
{id:4, name:"4 X"},
{id:6, name:"6 X"},
{id:8, name:"8 X"},
{id:10, name:"10 X"}
]
});
/*
rateStore = new dojo.data.ItemFileWriteStore({
data: {
items:[
{id:1, name:"1 X"},
{id:2, name:"2 X"},
{id:4, name:"4 X"},
{id:6, name:"6 X"},
{id:8, name:"8 X"},
{id:10, name:"10 X"}
]
}
});
*/
rate = new dijit.form.ComboBox({
id: "rate",
name: "rate",
store: rateStore,
searchAttr: name,
style: "width:50px"
}, dojo.byId("rate"));
rate.startup();
});
</script>
</head>
<body class="claro">
<div id="rate"></div>
</body>
</html>
require(“dijit.form.ComboBox”);
require(“dojo.store.Memory”);
require(“dojo.data.ItemFileWriteStore”);
require(“dojo.data.ItemFileReadStore”);
ready(function()){
var比率存储,比率;
rateStore=新的dojo.store.Memory({
数据:[
{id:1,名称:“1x”},
{id:2,名称:“2x”},
{id:4,名称:“4x”},
{id:6,名称:“6x”},
{id:8,名称:“8x”},
{id:10,名称:“10x”}
]
});
/*
rateStore=new dojo.data.ItemFileWriteStore({
数据:{
项目:[
{id:1,名称:“1x”},
{id:2,名称:“2x”},
{id:4,名称:“4x”},
{id:6,名称:“6x”},
{id:8,名称:“8x”},
{id:10,名称:“10x”}
]
}
});
*/
速率=新dijit.form.ComboBox({
id:“费率”,
名称:“费率”,
商店:rateStore,
searchAttr:name,
样式:“宽度:50px”
},dojo.byId(“汇率”);
rate.startup();
});
试试这个:
rate = new dijit.form.ComboBox({
id: "rate",
name: "rate",
store: rateStore,
searchAttr: "name",
style: "width:50px"
}, "rate").startup();
试试这个:
rate = new dijit.form.ComboBox({
id: "rate",
name: "rate",
store: rateStore,
searchAttr: "name",
style: "width:50px"
}, "rate").startup();
在1.6.1中,组合框不支持StoreAPI。因此,您需要使用ItemFileReadStore或ItemFileWriteStore
rateStore = new dojo.data.ItemFileWriteStore({
data: {
identifier: 'id',
label: 'name',
items:[
{id:1, name:"1 X"},
{id:2, name:"2 X"},
{id:4, name:"4 X"},
{id:6, name:"6 X"},
{id:8, name:"8 X"},
{id:10, name:"10 X"}
]
}
});
rate = new dijit.form.ComboBox({
id: "rate",
name: "rate",
store: rateStore,
style: "width:250px"
}, dojo.byId("rate"));
rate.startup();
在1.6.1中,组合框不支持StoreAPI。因此,您需要使用ItemFileReadStore或ItemFileWriteStore
rateStore = new dojo.data.ItemFileWriteStore({
data: {
identifier: 'id',
label: 'name',
items:[
{id:1, name:"1 X"},
{id:2, name:"2 X"},
{id:4, name:"4 X"},
{id:6, name:"6 X"},
{id:8, name:"8 X"},
{id:10, name:"10 X"}
]
}
});
rate = new dijit.form.ComboBox({
id: "rate",
name: "rate",
store: rateStore,
style: "width:250px"
}, dojo.byId("rate"));
rate.startup();