php使用easy ui combobox级联,easyUI combobox实现联动效果

我在做项目时,经常用到easyUI框架,今天总结一下easyUI中的combobox吧

创建easyui-combobox的方法,在easyUI的官网都有:

1、从带有预定义结构的 元素创建组合框(combobox)

aitem1

bitem2

bitem3

ditem4

eitem5

2、从标记创建组合框(combobox)

data-options="valueField:'id',textField:'text',url:'get_data.php'">

3、使用 javascript 创建组合框(combobox)

$('#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发联动

//初始化下拉列表

function InitCombobox() {

$("#combobox_one").combobox({

onLoadSuccess: function(){

var types = $("#combobox_one").combobox('getData');

if (types.length > 0){

$("#combobox_one").combobox('select', types[0].Value); //全部

}

}

});

$("#combobox_two").combobox({

url:'...';

onLoadSuccess: function(){

var types = $("#combobox_one").combobox('getData');

if (types.length > 0){

$("#combobox_two").combobox('select', types[0].Value); //全部

}

},

onSelect: function(record){

var url = '...' + record.Value;

$("#combobox_one").combobox('reload', url);

}

});

$(function() {

var typeData = [{

text: "来源",

value: "prodName"

}, {

text: "排放",

value: "ars"

}];

var options01 = [{

text: "生活污水",

value: "eq"

}, {

text: "工业用水",

value: "ne"

}];

var options02 = [{

text: "工业用水",

value: "ne"

}, {

text: "生活垃圾",

value: "ge"

}];

//初始化查询项目的下拉列表

$("#type").combobox({

valueField: 'value',//值字段

textField: 'text',//显示的字段

data: typeData,

panelHeight: 170,

onSelect: function() {

var myOptValue = $("#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,

});

});

下面是一个关于省市区的联动:

var h = $(window).height() * 0.65;

// 省级

$('#province').combobox({

valueField: 'name', //值字段

textField: 'name', //显示的字段

url: '/TidewaySHPServer/area/findAllProvince',//url为java后台查询省级列表的方法地址

panelHeight: h,

editable: true,

//模糊查询

filter: function(q, row) {

var opts = $(this).combobox('options');

return row[opts.textField].indexOf(q) == 0; //从头匹配,改成>=即可在任意地方匹配

},

onSelect: function(rec) {

$('#city').combobox('setValue', "");

$('#county').combobox('setValue', "");

var url = '/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', "");

var url = '/TidewaySHPServer/area/findAllDistrictOrCounty?parentId=' + rec.areaId;//url为java后台查询区县级列表的方法地址

$('#county').combobox('reload', url);

}

});

//区 县

$('#county').combobox({

valueField: 'areaId',

textField: 'name',

panelHeight: 'auto',

editable: false,

});

基本上想写的都写完了,主要是多个combobox的联动效果,写的不完美大家相互学习一下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值