[Plone-IT] Ajax, Script e Zpt
Simone Orsi
simahawk a gmail.com
Ven 9 Apr 2010 15:17:13 UTC
Ciao,
On 04/09/2010 04:55 PM, Marco Mazzulli wrote:
> Ciao a tutti, uso da poco zope e mi trovo di fronte a un problema che
> spero possiate aiutarmi a risolvere.
>
> Vi descrivo la mia situazione:
>
> *Regione: <select id="reg" tal:define="regioni
> python:context.script.getRegioni()">
> <tal:block repeat="tuplaReg regioni">
> <option tal:attributes="value python: tuplaReg[0]"
> tal:content="python: tuplaReg[1]"/>
> </tal:block>
> </select>
>
> *Il page templare chiama lo script che chiama lo z sql method. Ora
> vorrei che, una volta scelta la regione, la select seguente (quella
> delle province di tale regione) dovrebbe popolarsi con le sue città.
>
> Vorrei fare la cosa tramite ajax: è possibile usarlo per richiamare lo
> script delle città SENZA ricaricare la zpt?
quello che ti serve è un file *.js.dtml e uno script python (una vista
con un metodo che faccia da webservice sarebbe meglio)
nel js dovresti fare qualcosa del genere:
jq(document).ready(function(){
jq('#reg').change(function(){
jq.post(
url_python_script_o_ws,
{regione: jq('#reg').val()},
function(results){
var data = eval('(' + results + ')');
jq(data).each(function(n){
jq('select#cities').append('<option
value="'+this.city_id+'">this.city_name</option>')
});
});
})
});
Lo script python dovrà prendere il valore passato e restituire un dato
serializzato tramite json.
NOTA
- il codice proposto serve solo per darti uno spunto. L'ho scritto così
al volo quindi non va preso per "funzionante" :)
- Le variabili "city_id" "city_name" ecc sono variabili che devi creare
e passare tu nel risultato della chiamata ajax
Ora sono di fretta quindi non ti posso aiutare oltre... ricorda però che
google è tuo amico! :)
HTH,
SimO
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.plone.org/pipermail/plone-plone-it/attachments/20100409/35a88144/attachment.html>
Maggiori informazioni sulla lista
Plone-IT