jQuery easyUI combobox下拉框 联动 级联

新做了一个下拉框联动的小功能,网上找的是省市级联,之前也套用了,这次是自定义的一个级联,相当于父子关系,有如下两张表:


表A: (分类表)(相当于主菜单)

jQuery easyUI combobox下拉框 联动 级联_第1张图片

表B: (目录表)(相当于子菜单)

jQuery easyUI combobox下拉框 联动 级联_第2张图片

注:LinkNumber是相当于一个序号 ,两张表之间用ClassNumber关联



前台信息填写如下:

jQuery easyUI combobox下拉框 联动 级联_第3张图片

分类名称下拉框代码:

分类名称:

这里直接通过data-options绑定,url请求api获取所有的分类,value,text分别绑定编号和名称,得到如下效果:

jQuery easyUI combobox下拉框 联动 级联_第4张图片

下面是通过下拉框的切换事件来改变目录下拉框的值,这里首先绑定value和text为表B的目录编号和目录名称

目录名称:

然后通过js事件,当分类下拉框的值发生改变,右边的目录下拉框对应的改变:

$('#seleClass').combobox({
                onSelect: function (row) {
                    if (row != null) {
                        $('#seleLink').combobox({
                            url: "http://xxx/api/GetNavLink?classNumber=" + row.ClassNumber
                        });
                    }
                }
            });
注:这里目录下拉框请求的api是传了一个值,也就是两表之间关联的classNumber:

 public IEnumerable FindLinkByNum(string classNumber)
        {
            if (string.IsNullOrWhiteSpace(classNumber))
            {
                return null;
            }
            var query = QueryFactory.DB().Where(c => c.ClassNumber.Equals(classNumber));
            var result = query.ToList();
            return result;
        }

这里是效果图来两张~

jQuery easyUI combobox下拉框 联动 级联_第5张图片

jQuery easyUI combobox下拉框 联动 级联_第6张图片

这里和linq的写法差的不远,反正大体意思就是,目录表(表B)里ClassNumber等于参数classsNumber的所有目录,

到这里大概就结束了,主要是利用combobox的下拉框改变事件来实现以上功能的,如果有需要给默认值,可以通过页面url参数传值到当前页,然后默认值用下面介个js来实现:

$('#cc').combobox({
onLoadSuccess :function(){
$('#cc').combobox('select','选项的valueField');
}
结束~~~



你可能感兴趣的:(前端,杂项(小知识点))