Hola Gente:
Les comento que pude solucionar el problema realizando lo siguiente:
1) Modifique la función de la siguiente manera
def fgetlocalidad():
idprovincia = 0
result=''
idprovincia = int(request.vars.idprovincia)
localidad_rows = db(db.trlocalidad.idprovincia==idprovincia).select(orderby=db.trlocalidad.localidad_cp)
result = '<td><label class="control-label col-sm-3" id="label_localidad">Localidad:</label> '
result += '<select class="idlocalidad" id="idlocalidad" name="idlocalidad"> '
for item in localidad_rows:
result += '<option value=' + str(
item.id) + '>' + item.localidad_cp + '</option>'
result += '</select></td>'
return XML(result)
2) En la funcion def abmpersona():
define la url de esta manera:
url=URL(c='persona',f='fgetlocalidad')
Modifique la línea donde llamo a la función de esta manera:
TR(TD( (LABEL("Provincia:",_class='control-label col-sm-3',_id='label_provincia'),
SELECT(_id="idprovincia",_class="idprovincia",_name="idprovincia",*[OPTION(i['descripcion'],
_value=str(i['id'])) for i in provincia_row])),_onchange="ajax('%s' , ['idprovincia'], 'ciudad');" % url)),
Saludos cordiales.