0

我有一个组合框从 url 存储加载其数据。我的代码在下面...我在 Firebug 中注意到的是,一旦我将焦点放在 Combobox 上,它就会加载此信息。我希望在页面加载完成后填充组合框。我猜我使用 dojo.ready 了吗?有没有人建议我如何解决这个问题?非常感谢!珍妮

<!DOCTYPE html>
<html >
<head>

    <link rel="stylesheet" type="text/css" href="lib/dojo/dijit/themes/claro/claro.css" />
    <style type="text/css">html, body {
        width: 100%;
        height: 100%;
        margin: 0;
    }</style>
    <script src="lib/dojo/dojo/dojo.js" data-dojo-config="parseOnLoad: true"></script>
    <script>require(["dojo/ready", "dojo/data/ItemFileReadStore", "dijit/form/ComboBox"]); 

</script>

</head>
<body class="claro">
    <label for="user">User: </label>
<div dojoType="dojo.data.ItemFileReadStore" url="test.json" jsId="countryStore"> 
<input dojoType="dijit.form.ComboBox" searchAttr="last_name" store="countryStore" class="selectionNav tableData" value="" name="last_name" id="test.json" /> 
</body>
</html>
4

1 回答 1

1

你的 require 函数应该是这样的

require(["dojo/ready", "dijit/registry", "dojo/data/ItemFileReadStore"],function(dom,reg,store){
    var combo = dijit.byId("test.json");
    var storeDate = new store({url:"path/to/file.json"});
    try{
        combo.store(storeData);
    }catch(e){
        combo.set("store",storeData)
    }
});

try catch 语句是因为我不记得哪个是正确的

于 2012-05-11T22:47:00.770 回答