zoukankan      html  css  js  c++  java
  • ComboBox联动 (AJAX BS实现)

      //从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

  • 相关阅读:
    C#listbox使用方法
    poj 3894 System Engineer (二分图最大匹配--匈牙利算法)
    Java实现 蓝桥杯VIP 算法训练 连接字符串
    Java实现 蓝桥杯VIP 算法训练 连接字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 黑白无常
  • 原文地址:https://www.cnblogs.com/meimao5211/p/3429615.html
Copyright © 2011-2022 走看看