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 に答える