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 web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to