EasyUI入门1 实现下拉框二级联动

无废话直接上代码

var cbRegisterDisciplineId = $('#cbRegisterDiscipline').combobox({
                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                url: "../../Controller/PurchasePackage/PurchasePackage.ashx?Action=AutoDiscipline",
                editable: false,
                valueField: '专业名称',
                textField: '专业名称',
                onSelect: function (record) {
                    //刷新数据,重新读取专业下的采购包,并清空当前输入的值  
                    cbRegisterPackageId.combobox({
                        disabled: false,
                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                        url: "../../Controller/InquiryManage/InquiryRegister.ashx?Action=AutoPackage&DisciplineName=" + encodeURIComponent(record.专业名称),
                        type: "get",
                        dataType: "json",
                        //data: {
                        //    "DisciplineName": encodeURIComponent(record.专业名称)
                        //},   //中文须编码,用encodeURIComponent
                        valueField: 'KSGUID',
                        textField: 'PINFO'
                    }).combobox('clear');;
                }
            });
            var cbRegisterPackageId = $('#cbRegisterPackage').combobox({
                disabled: true,
                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                url: "../../Controller/InquiryManage/InquiryRegister.ashx?Action=AutoPackage&DisciplineName=" + encodeURIComponent("-全部专业-"),
                type: "get",
                dataType: "json",
                valueField: 'KSGUID',
                textField: 'PINFO'
            });

说明

cbRegisterDiscipline是第一级下拉框,选择专业
cbRegisterPackage是第二级下拉框,选择专业下所属的采购包

传参数失败问题的解决

我想增加一个查询条件,第二级下拉框根据第一级所选择的专业进行查询,但是不知道为什么采用

data: {
    "DisciplineName": encodeURIComponent(record.专业名称)
},   //中文须编码,用encodeURIComponent

的方式传值给ashx失败,提示context.Request[“DisciplineName”]是null。最后改为url方式传值,在ashx采用

string CurrentStr = context.Request.Url.Query;
System.Collections.Specialized.NameValueCollection nv = System.Web.HttpUtility.ParseQueryString(CurrentStr, System.Text.Encoding.GetEncoding("utf-8"));
string DisciplineName = nv["DisciplineName"];       //对接收的字符串进行URL解码;

的方式拿到DisciplineName的值。

代码片段二的作用

var cbRegisterPackageId = $('#cbRegisterPackage').combobox({
                disabled: true,
                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                url: "../../Controller/InquiryManage/InquiryRegister.ashx?Action=AutoPackage&DisciplineName=" + encodeURIComponent("-全部专业-"),
                type: "get",
                dataType: "json",
                valueField: 'KSGUID',
                textField: 'PINFO'
            });

其实这段代码(以下简称代码片段二)是可以不要的,只要记得把cbRegisterPackageId换成$(‘#cbRegisterPackage’)就可以了。那这段代码有和没有到底有什么区别呢?

要想看到区别,首先要把片段二里的代码

disabled: true,

true 改为 false

这样在页面初始化的时候,combo1和combo2都处于可用状态,此时你就可以看到当片段二执行的时候combo2初始化时会请求后台数据,绑定全部专业的采购包,当片段二没有的时候,combo2初始化为空;当disabled: true是,combo2是不可用的,所以也看不出区别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiangcns

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值