easyUI combobox实现联动效果
我在做项目时,经常用到easyUI框架,今天总结一下easyUI中的combobox吧
创建easyui-combobox的方法,在easyUI的官网都有:
1、从带有预定义结构的元素创建组合框(combobox)
<selectid="cc"class="easyui-combobox"name="dept"style="width:200px;"> <optionvalue="aa">aitem1</option> <option>bitem2</option> <option>bitem3</option> <option>ditem4</option> <option>eitem5</option> </select>
2、从标记创建组合框(combobox)
<inputid="cc"class="easyui-combobox"name="dept" data-options="valueField:'id',textField:'text',url:'get_data.php'">
3、使用javascript创建组合框(combobox)
<inputid="cc"name="dept"value="aa">
$('#cc').combobox({ url:'combobox_data.json', valueField:'id', textField:'text' });
json数据格式的示例:
[{ "id":1, "text":"text1" },{ "id":2, "text":"text2" },{ "id":3, "text":"text3", "selected":true },{ "id":4, "text":"text4" },{ "id":5, "text":"text5" }]
它的属性和方法就不在赘述了,可以上官网查看。
下面来说一下关于两个combobox发联动
//初始化下拉列表 functionInitCombobox(){ $("#combobox_one").combobox({ onLoadSuccess:function(){ vartypes=$("#combobox_one").combobox('getData'); if(types.length>0){ $("#combobox_one").combobox('select',types[0].Value);//全部 } } }); $("#combobox_two").combobox({ url:'...'; onLoadSuccess:function(){ vartypes=$("#combobox_one").combobox('getData'); if(types.length>0){ $("#combobox_two").combobox('select',types[0].Value);//全部 } }, onSelect:function(record){ varurl='...'+record.Value; $("#combobox_one").combobox('reload',url); } });
$(function(){ vartypeData=[{ text:"来源", value:"prodName" },{ text:"排放", value:"ars" }]; varoptions01=[{ text:"生活污水", value:"eq" },{ text:"工业用水", value:"ne" }]; varoptions02=[{ text:"工业用水", value:"ne" },{ text:"生活垃圾", value:"ge" }]; //初始化查询项目的下拉列表 $("#type").combobox({ valueField:'value',//值字段 textField:'text',//显示的字段 data:typeData, panelHeight:170, onSelect:function(){ varmyOptValue=$("#type").combobox("getValue"); //1.清空原来的classify这个combobox中的选项 $("#classify").combobox("clear"); //2.动态添加"操作类型"的下拉列表框的option if(myOptValue!=null&&(myOptValue=='prodName'||myOptValue=='prodStatus')){ console.info("myOptValue="+myOptValue); $("#classify").combobox({ panelHeight:50, data:options01 }); }else{ $("#classify").combobox({ panelHeight:140, data:options02 }); } //3.清空文本输入框——用户输入的条件 //$("#userInputCondition").val(""); } }); //初始化classify的下拉列表 $("#classify").combobox({ valueField:'value', textField:'text', data:options02, panelHeight:140, }); });
下面是一个关于省市区的联动:
varh=$(window).height()*0.65; //省级 $('#province').combobox({ valueField:'name',//值字段 textField:'name',//显示的字段 url:'/TidewaySHPServer/area/findAllProvince',//url为java后台查询省级列表的方法地址 panelHeight:h, editable:true, //模糊查询 filter:function(q,row){ varopts=$(this).combobox('options'); returnrow[opts.textField].indexOf(q)==0;//从头匹配,改成>=即可在任意地方匹配 }, onSelect:function(rec){ $('#city').combobox('setValue',""); $('#county').combobox('setValue',""); varurl='/TidewaySHPServer/area/findAllCity?parentId='+rec.areaId;//url为java后台查询事级列表的方法地址 $('#city').combobox('reload',url); } }); //市区 $('#city').combobox({ valueField:'name',//值字段 textField:'name',//显示的字段 panelHeight:'auto', editable:false,//不可编辑,只能选择 value:'', onSelect:function(rec){ $('#county').combobox('setValue',""); varurl='/TidewaySHPServer/area/findAllDistrictOrCounty?parentId='+rec.areaId;//url为java后台查询区县级列表的方法地址 $('#county').combobox('reload',url); } }); //区县 $('#county').combobox({ valueField:'areaId', textField:'name', panelHeight:'auto', editable:false, });
基本上想写的都写完了,主要是多个combobox的联动效果,写的不完美大家相互学习一下
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。