J'essaie de déclarer, par le biais d'une déclaration JSON, les options d'un widget dijit.form.Select déclaré en markup. D'après ce que j'ai lu dans la documentation de l'API, il semble que l'on puisse passer un nouveau magasin en utilisant setStore() et qu'il soit ensuite mis à jour, mais cela n'a donné aucun résultat utile, à part un widget Select vide avec un magasin complet. Je me demande s'il manque une déclaration dans mon objet, si j'utilise les mauvaises méthodes ou s'il existe d'autres moyens de déclarer ces options.
Le balisage de test que j'ai utilisé est imprimé ci-dessous :
<!DOCTYPE HTML>
<html dir="ltr">
<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>
dojo.require("dijit.form.Select");
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dojo.data.ItemFileWriteStore");
</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 ">
<div class="option" id="option" dojoType="dijit.form.Select"></div>
<script type="text/javascript">
dojo.addOnLoad(function() {
if (document.pub) {
document.pub();
}
var selectOptions = {
name:'selection',
identifier: 'label',
options: [{
label: 'this',
value: '01'
},
{
label: 'that',
value: '02'
},
{
label: 'the other',
value: '03'
},
{
label: 'banana',
value: '04',
},
]};
var aStore = dojo.data.ItemFileReadStore({data: selectOptions});
dijit.byId("option").setStore(aStore, 01);
dijit.byId("option").startup();
});
</script>
</body>
</html>