Ext 메뉴 연동을 위한 완벽한 솔루션
4726 단어 ext
성 드롭다운 상자와 도시 드롭다운 상자를 연결합니다.
formpanel 편집할 때 사용합니다.
form.getForm().load({
waitMsg : ' ',
waitTitle : ' ',
url : '/webmaster/admin/userAction.do?method=getUserInfoWithJson',
method : 'POST',
success : function(frm, action) {
// Ext.Msg.alert(' ', ' ');
var pname = action.result.data.provinceName;//
var cname = action.result.data.cityName;//
Ext.getCmp('webmasterprovinceCmp').setRawValue(pname);
Ext.getCmp('webmastercityCmp').setRawValue(cname);
},
failure : function(frm, action) {
Ext.Msg.alert(' ', ' :' + action.result.errors.info);
}
});
성 드롭다운 상자 코드:
{
xtype : 'combo',
store : new Ext.data.Store({
proxy : new Ext.data.HttpProxy(
{
url : '/webmaster/admin/globalAction.do?method=getProvinceList'
}),
reader : new Ext.data.JsonReader(
{
root : 'rows',
totalProperty : 'total'
}, [{
name : 'id'
}, {
name : 'name'
}])
}),
displayField : 'name',
valueField : 'id',
fieldLabel:' ',
// hideLabel : true,
width : 100,
editable : false,
mode : 'remote',
triggerAction : 'all',
forceSelection : true,
typeAhead : true,
name : 'provinceID',
id:'webmasterprovinceCmp',
hiddenName : 'provinceID',
emptyText : '-- --',
// pageSize : 10,
// disabled : true,
listeners : {
'select' : {
fn : function(combo,
record, index) {
Ext.getCmp('webmastercityCmp').change = true;//
Ext.getCmp('webmastercityCmp').reset();//
},
scope : this
}
}
// allowBlank : false
}
주요 코드:
성 ComboBox의 select 이벤트에서 도시 ComboBox의 사용자 정의 속성 change=true를 설정하고 도시 ComboBox를 리셋합니다
도시 ComboBox 코드:
{
xtype : 'combo',
store : new Ext.data.Store({
proxy : new Ext.data.HttpProxy(
{
url : '/webmaster/admin/globalAction.do?method=getCityByProvinceId'
}),
reader : new Ext.data.JsonReader(
{
root : 'rows',
totalProperty : 'total'
}, [{
name : 'id'
}, {
name : 'name'
}])
}),
listeners:{
'beforequery':function(queryEvent){
var provinceId = Ext.getCmp('webmasterprovinceCmp').getValue();
if(provinceId>0&&queryEvent.combo.change){
var province = Ext.getCmp('webmasterprovinceCmp').getRawValue();
queryEvent.combo.store.load({params:{provinceName:province}});
queryEvent.combo.change = false;
}
return true;
}
},
change:true,
displayField : 'name',
valueField : 'id',
fieldLabel:' ',
width : 100,
editable : false,
mode : 'local',
triggerAction : 'all',
forceSelection : true,
typeAhead : true,
name : 'cityId',
id:'webmastercityCmp',
hiddenName : 'cityId',
valueNotFoundText:'-- --',
emptyText : '-- --'
}
주요 코드:
1. 도시ComboBox에 사용자 정의 속성 change를 추가하여 성이 바뀌었는지 여부를 표시합니다.
2. 도시 ComboBox의 mode=local
3. 도시ComboBox의 beforequery 이벤트 응답 함수에 데이터를 불러와true로 되돌려줍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ExtJS 3.2 학습 노트(3) 사용자 정의 이벤트Extjs에서 모든 상속은 Ext.util에서 합니다.Observable 클래스의 컨트롤은 이벤트를 지원할 수 있습니다. 클래스에 대해 이벤트를 사용자 정의하려면 다음 절차를 따르십시오. 1, 먼저 클래스를 정의합니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.