Lo he modificado de esta manera, pero me sigue dando problemas al cargar el tercer combo
Código Javascript
:
Ver originalExt.ns("combos");
combos.ComboBox = {
init: function(){
this.countryStore = this.getStore();
this.stateStore = this.getStore();
this.cityStore = this.getStore();
this.coloniaStore = this.getStore();
this.countryCmb = new Ext.form.ComboBox({
store: this.countryStore,
itemId: 'country',
id: 'country',
valueField: 'value',
loadingText:'',
displayField: 'label',
triggerAction: 'all',
emptyText: 'Seleccione Pais',
fieldLabel: 'Country'
});
this.stateCmb = new Ext.form.ComboBox({
store: this.stateStore,
disabled: true,
id: 'state',
valueField: 'value',
loadingText:'',
displayField: 'label',
triggerAction: 'all',
mode: 'local',
emptyText: 'Primero seleccione un Pais',
fieldLabel: 'State'
});
this.cityCmb = new Ext.form.ComboBox({
store: this.cityStore,
disabled: true,
id : 'city',
valueField: 'value',
loadingText:'',
displayedField: 'label',
triggerAction: 'all',
mode: 'local',
emptyText: 'Primero Seleccione un estado',
fieldLabel: 'Ciudad'
});
this.coloniaCmb = new Ext.form.ComboBox({
store: this.coloniaStore,
disabled: true,
id: 'colonia',
valueField: 'value',
loadingText: '',
displayedField: 'label',
triggerAction: 'all',
mode: 'local',
emptyText: 'Primero Seleccione una ciudad',
fieldLabel: 'Colonia'
});
this.window = new Ext.Window({
title: 'Combos Anidados',
layout:'form',
width:300,
height:160,
bodyStyle: 'padding:5px;background-color:#fff',
items: [this.countryCmb,this.stateCmb,this.cityCmb,this.coloniaCmb]
});
this.window.show();
this.countryCmb.on('select',function(cmb,record,index){
this.stateCmb.enable();
this.stateCmb.clearValue();
this.stateStore.load({
params:{
id:record.get('value')
}
});
},this);
this.stateCmb.on('select',function(cmb,record,index){
this.cityCmb.enable();
this.cityCmb.clearValue();
this.cityStore.load({
params:{
id2:record.get('value')
}
});
},this);
this.cityCmb.on('select',function(cmb,record,index){
this.coloniaCmb.enable();
this.coloniaCmb.clearValue();
this.coloniaStore.load({
params:{
id3:record.get('value')
}
});
},this);
},
getStore: function(){
var store = new Ext.data.JsonStore({
url:'linked-cmb.php',
root:'data',
fields: ['value','label']
});
return store;
}
}//fin de la clase
Ext.onReady(combos.ComboBox.init,combos.ComboBox);
y el codigo en php es este
Código PHP:
Ver original<?php
include('../conexion.php');
if($_POST['id']=="" AND $_POST['id2']==""){
$query_busqueda = "SELECT * FROM select_0 ORDER BY id ASC";
$arre[] = $row_busqueda[opcion];
}
echo toJSON($arre);
}
if($_POST['id']!=""){
$query_busqueda_estados = "SELECT * FROM select_1 WHERE domn_relacion='$_POST[id]' ORDER BY id ASC";
$ar[] = $row_busqueda_estados[opcion];
}
echo toJSON($ar);
}
if($_POST['id2']!=""){
$query_busqueda_ciudades = "SELECT * FROM select_2 WHERE relacion='$_POST[id2]' ORDER BY id ASC";
$arreglo_ciudades[] = array(); $arreglo_ciudades[] = $row_busqueda_ciudades[opcion];
}
echo "idc".$_POST[idc];
echo toJSON($arreglo_ciudades);
}
if($_POST['id3']!=""){
$query_busqueda_colonia = "SELECT * FROM select_3 WHERE relacion='$_POST[id3]' ORDER BY id ASC";
$arreglo_colonias[] = array(); $arreglo_colonias [] = $row_busqueda_colonias[opcion];
}
echo toJSON($arreglo_colonias);
}
function toJSON($array){
$i=1;
foreach($array as $key=>$value){
'value'=>$i++,
'label'=>$value
));
}
'total'=>$total,
'data'=>$data
));
}
?>
lo que pasa es que en codigo php está bien, pero a la hora de mandarlo al combo, aunque lo hago de la misma manera que con los dos anteriores, no se despliega nada =/
les agradecería bastante su ayuda =)