Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour tout le monde,
Je galère sur un problème et mes recherches restent infructueuses.
Je cherche tout simplement à mettre à jour, en javascript, une filteringSelect sans recharger ma page.
Je pensais au début le faire en ajax mais cela me pose finalement problème (aspect du controle et autre mésaventures).
J'ai vu ensuite des exemples avec le "ItemFileReadStore" mais là encore, je bloque.
Quelqu'un aurait il un exemple simple sous la main pour faire cette petite chose ?
Merci d'avance pour le coup de main
Dernière modification par Stoomm (03-12-2009 16:30:58)
Hors ligne
Re à tous,
Après bcp de temps passé dessus, je me suis inspiré d'un exemple trouvé sur le net que je vous livre ici :
<html> <head> <title>Test Two Stores</title> <style type="text/css"> @import "js/dojotoolkit/dijit/themes/tundra/tundra.css"; @import "js/dojotoolkit/dojo/resources/dojo.css"; </style> <script type="text/javascript" src="js/dojotoolkit/dojo/dojo.js" djConfig="isDebug:false, parseOnLoad: true, usePlainJson: true"></script> <script type="text/javascript"> dojo.require("dojo.data.ItemFileReadStore"); dojo.require("dijit.form.FilteringSelect"); dojo.require("dojo.parser"); </script> <script type="text/javascript"> var majorList = {identifier:"major",items:[{major:"Atl",label:"Atl"},{major:"NYC",label:"Atl"}]}; var majorStore = new dojo.data.ItemFileReadStore({data: majorList}); var secondList = {identifier:"name",items:[{major:"Atl",name:"Atlanta"},{major:"NYC",name:"New York City"}]}; var secondStore = new dojo.data.ItemFileReadStore({data: secondList}); function getData(selectedValue){ secondStore = new dojo.data.ItemFileReadStore({data: secondList}); secondStore.fetch({ query: { major: selectedValue }, onComplete: getOptions, onError: errorHandler }); } var getOptions = function( items, request ) { var tmpStore = new dojo.data.ItemFileReadStore({data:{identifier:'name',items:items}}); dijit.byId("secondBox").store = tmpStore; dijit.byId("secondBox").setDisplayedValue(''); } var errorHandler = function(error, request){ console.debug(error); } </script> </head> <body class="tundra"> <input dojoType="dijit.form.FilteringSelect" store="majorStore" searchAttr="major" name="majorsBox" onChange="getData" id="majorsBox" /> <input dojoType="dijit.form.FilteringSelect" store="secondStore" searchAttr="name" name="secondBox" id="secondBox" /> </body> </html>
Cela m'a bien aidé. En plus des exemples ici : http://docs.dojocampus.org/dijit/form/FilteringSelect
Si quelqu'un à besoin d'aide...
A pluche
Dernière modification par Stoomm (03-12-2009 16:30:44)
Hors ligne
Pages: 1