2012-04-30 8 views
1

何が問題なのかはわかりませんが、エラーコンソールに「_21.store.fetchは関数ではありません」と表示されます。コンボボックスにはデータが入力されません。私は両方のメモリとItemFileWriteStoreを試して、両方が動作しません!どうしましたか?私はdojo 1.6.1 btwを使用しています。 コードは以下の通りです:Dojoコンボボックスエラー "store.fetchは関数ではありません"

<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> 

答えて

0

はこれを試してみてください:

rate = new dijit.form.ComboBox({ 
    id: "rate", 
    name: "rate", 
    store: rateStore, 
    searchAttr: "name", 
    style: "width:50px" 
}, "rate").startup(); 
+0

これは、 'searchAttr: "name"'によるものです。 – yeeen

1

1.6.1では、コンボボックスは、店舗のAPIをサポートしていません。したがって、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(); 
関連する問題