here is the code:
---------------------------------------------------------------------------
---Model
db = SQLDB("sqlite://db.db")
db.define_table("pais",
SQLField("nPais", "string", notnull=True, default=None,
label="Pais"))
db.define_table("provincia",
SQLField("idPais", db.pais, label="Pais"),
SQLField("nProvincia", "string", notnull=True, default=None,
label="Provincia"))
db.define_table("canton",
SQLField("idProvincia", db.provincia, label="Provincia"),
SQLField("nCanton", "string", notnull=True, default=None,
label="Canton"))
db.define_table("distrito",
SQLField("idCanton", db.canton, label="Canton"),
SQLField("nDistrito", "string", notnull=True, default=None,
label="Distrito"),
SQLField("codigoPostalDistrito", "string", notnull=True,
default=None, label="Codigo Postal"))
---------------------------------------------------------------------------
---Controller
def index():
pais = db((db.provincia.idPais==db.pais.id)&
(db.canton.idProvincia==db.provincia.id)&\
(db.distrito.idCanton==db.canton.id)&(db.canton.id>0)).select
(db.pais.ALL, groupby=db.pais.id)
return dict(pais=pais)
def provincia():
pais = request.vars.values()[0]
provincia = db(db.provincia.idPais == pais).select()
return SELECT(_id="provincia", _name="provincia",_type="select",
_onChange="ajax('"+URL(r=request,f='canton')+"',['provincia'],
'target1');",
*[OPTION(provincia[i].nProvincia, _value=(provincia[i].id))
for i in range(len(provincia))])
def canton():
provincia = request.vars.values()[0]
canton = db(db.canton.idProvincia == provincia).select()
return SELECT(_id="canton",_name="canton",_type="select",
_onChange="ajax('"+URL(r=request,f='distrito')+"',
['canton'], 'target2');",
*[OPTION(canton[i].nCanton, _value=str
(canton[i].id)) for i in range(len(canton))])
def distrito():
canton = request.vars.values()[0]
distrito = db(db.distrito.idCanton == canton).select()
return SELECT(_id='distrito',_name='distrito',*[OPTION(distrito
[i].nDistrito, _value=str
(distrito[i].id)) for i in range(len(distrito))])
---------------------------------------------------------------------------
---View
{{extend 'layout.html'}}
<table>
<tr><div id="tar">
<select name="pais" id="pais" >
{{for x in pais:}}
<option value={{=x.id}}>{{=x.nPais}}</option>
{{pass}}
</select>
</div><tr>
<tr><div id="target"> <div> </tr>
<tr><div id="target1"> <div> </tr>
<tr><div id="target2"> <div> </tr>
</table>
<script>
$(document).ready(function(){
$('#pais').attr('onChange', ajax('provincia',['pais'],'target'));
----------------------------------------------------------------------
-------> Here i have the problem, the next line doesn't work
----------------------------------------------------------------------
$('#provincia').attr('onChange', ajax('canton',
['provincia'],'target1'));
});
$('#pais').change(function(){
$('#pais').attr('onChange', ajax('provincia',['pais'],'target'))
});
</script>
---------------------------------------------------------------------------
--->Consult
When i want to work the select "provincia" or "canton" or "distrito"
in the script of the view, they don't work fine.
is there any solution for it?
thanks in advance..
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---