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

  • 相关阅读:
    js你不是的那些基础问题-错误处理机制
    js你不是的那些基础问题-数据类型的转换
    js你不是的那些基础问题-布尔运算符
    js你不是的那些基础问题-函数
    js你不知的那些基础问题-对象
    js你不知的那些基础问题-数值
    小程序中ios11底部黑条兼容
    上传---FileReader
    2021年了,我才知道H5支持元素拖放!!!
    ES6常用总结(一)
  • 原文地址:https://www.cnblogs.com/meimao5211/p/3429615.html
Copyright © 2011-2022 走看看