ComboBox联动
? //從webservice中取數據ajax
??????????? Ext.Ajax.request({
??????????????? url: 'WebService.asmx/GetComboxFirst',
??????????????? method: 'POST',
??????????????? //jsonData: { UserName: "" },
??????????????? headers: { 'Content-Type': 'application/json;utf-8' },
??????????????? success: General,
??????????????? failure: On_Error
??????????? });
??????????? function General(result) {
??????????????? var data = Ext.util.JSON.decode(result.responseText);
??????????????? var ds = new Ext.data.Store({
??????????????????? proxy: new Ext.data.MemoryProxy(data.d),
??????????????????? reader: new Ext.data.JsonReader({ fields: [{ name: 'strText', type: 'string' }, { name: 'strValue', type: 'string'}] })
??????????????? });
??????????????? ds.load();
??????????????? var combox1 = new Ext.form.ComboBox({
??????????????????? store: ds,
??????????????????? displayField: 'strText',
??????????????????? valueField: 'strValue',
??????????????????? typeAhead: true,
??????????????????? mode: 'local',
??????????????????? forceSelection: true,
??????????????????? triggerAction: 'all',
??????????????????? emptyText: 'Select a state...',
??????????????????? selectOnFocus: true,
??????????????????? applyTo: 'combox1'
??????????????? });
??????????????? Genercombox2("1", 5);
??????????????? combox1.on('select', function (comboBox) {
??????????????????? //alert(comboBox.getRawValue() + '-' + comboBox.getValue());
??????????????????? Genercombox2("2", comboBox.getValue());
??????????????? });
??????????? };
??????????? function On_Error() {
??????????? };
??????????? //從webservice中取數據ajax
//從webserivce中取通過HttpProxy,因為asp.net數據是放在.d里面的,所以需要重寫JsonReader來取數據.
? bJsonReader = Ext.extend(Ext.data.JsonReader, {
??????????????? read: function (response) {
??????????????????? var json = response.responseText;
??????????????????? //alert(json);
??????????????????? var o = Ext.decode(json);
??????????????????? //alert(o.d);
??????????????????? this.responseText = json;
??????????????????? if (!o) {
??????????????????????? throw { message: 'JsonReader.read: Json object not found' };
??????????????????? }
??????????????????? return this.readRecords(o.d);
??????????????? }
??????????? });
??????????? var dshttpProxy = new Ext.data.Store({
??????????????? proxy: new Ext.data.HttpProxy({
??????????????????? url: "WebService.asmx/GetComboxFirstByParam", method: 'POST', jsonData: { strParam: 10 }
??????????????? }),
??????????????? reader: new bJsonReader({
??????????????????? fields: [{ name: 'strText', type: 'string' }, { name: 'strValue', type: 'string'}]
??????????????? })
??????????? });
??????????? function Genercombox2(strtype, indexvalue) {
??????????????? if (strtype == "1") {
??????????????????? var combox2 = new Ext.form.ComboBox({
??????????????????????? store: dshttpProxy,
??????????????????????? displayField: 'strText',
??????????????????????? autoLoad: false,
??????????????????????? valueField: 'strValue',
??????????????????????? typeAhead: true,
??????????????????????? mode: 'local',
??????????????????????? id: 'gameAreaID',
??????????????????????? forceSelection: true,
??????????????????????? triggerAction: 'all',
??????????????????????? emptyText: 'Select a state...',
??????????????????????? loadingText: 'Please Select',
??????????????????????? anchor: '100%',
??????????????????????? selectOnFocus: true,
??????????????????????? applyTo: 'combox2'
??????????????????? });
??????????????? }
??????????????? if (strtype == "2") {
??????????????????? var parent = Ext.getCmp('gameAreaID');
??????????????????? parent.reset();
??????????????????? //重新獲取數據
??????????????????? dshttpProxy.proxy = new Ext.data.HttpProxy({
??????????????????????? url: "WebService.asmx/GetComboxFirstByParam", method: 'POST', jsonData: { strParam: indexvalue }
??????????????????? });
??????????????????? dshttpProxy.load();
??????????????? }
??????????? }
??????????? //從webserivce中取通過HttpProxy
轉載于:https://www.cnblogs.com/SevenMilk/archive/2011/03/24/1993647.html
總結
以上是生活随笔為你收集整理的ComboBox联动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内衣店加盟多少钱啊?
- 下一篇: 摩托车火花塞多少钱啊?