【EasyUI】Combobox的联动和onChange/onSelect事件绑定

【效果图】

(1)当选择“产品名称”这个查询项目时,运算条件只有“等于”和“不等于”,如下图所示。

(2)当用户选择可以进行数值计算的查询项目时,运算条件就会有很多,如下图所示。

【实现代码】

1、HTML代码

<table cellpadding="0" cellspacing="1" border="0">
    <tr>
        <td>选择查询项目:</td>
        <td><input id="queryItem" name="queryItem" class="easyui-combobox" style="width:130px;" ></td>
        <!-- 用户选择运算条件 -->
        <td><input id="operType" name="operType" class="easyui-combobox" style="width:90px;" data-options="panelHeight:150"/></td>
        <!-- 用户输入文本条件 -->
        <td><input id="userInputCondition" name="userInputCondition" type="text" style="width:200px;"></input></td>
    </tr>
</table>

2、JSP代码

注意,代码要写在“$(function(){})”中,这样页面被加载时,就可以绑定“查询项目”这个组件的事件。

$( function(){
    var queryItemData = [{text : "产品名称", value : "prodName"},
                         {text : "年化收益率", value : "ars"},
                         {text : "到期收益率", value : "ytm"},
                         {text : "最低出借金额", value : "lowLendEdu"},
                         {text : "最高出借金额", value : "higLendEdu"},
                         {text : "出借周期", value : "lendingCycle"},
                         {text : "产品状态", value : "prodStatus"}];

    var options01 = [{text : "等于", value : "eq"},
                     {text : "不等于", value : "ne"}];

    var options02 = [{text : "等于", value : "eq"},
                     {text : "大于且等于", value : "ge"},
                     {text : "大于", value : "gt"},
                     {text : "小于且等于", value : "le"},
                     {text : "小于", value : "lt"},
                     {text : "不等于", value : "ne"}];                                                             

     //初始化查询项目的下拉列表
     $("#queryItem").combobox({
         valueField: ‘value‘,
         textField: ‘text‘,
         data : queryItemData,
         panelHeight:170,
        //注册Easy-UI, combobox的onSeclete事件
        //目的:实现理财产品中,高级查询的“运算条件”随着“查询项目”的改变而发生联动。
        onSelect : function(){
                var myOptValue = $("#queryItem").combobox("getValue") ;

                //1.清空原来的operType这个combobox中的选项
                $("#operType").combobox("clear");

                //2.动态添加"操作类型"的下拉列表框的option
                if( myOptValue != null && (myOptValue == ‘prodName‘ || myOptValue == ‘prodStatus‘) ){
                    console.info("myOptValue = "+myOptValue);
                    $("#operType").combobox({
                        panelHeight:50,
                        data : options01
                    });
                }else{
                    $("#operType").combobox({
                        panelHeight:140,
                        data : options02
                    });
                }

                //3.清空文本输入框——用户输入的条件
                $("#userInputCondition").val("");
            }
     });                    

     //初始化operType的下拉列表
     $("#operType").combobox({
         valueField: ‘value‘,
         textField: ‘text‘,
         data : options02,
         panelHeight:140,
     });
});
});

3、EasyUI,comobox绑定onChange事件的链接:http://www.stepday.com/topic/?235

时间: 2024-08-03 23:02:52

【EasyUI】Combobox的联动和onChange/onSelect事件绑定的相关文章

easyui combobox setValue方法不能触发onSelect事件

//setValue方法不能触发onSelect事件 //$("#FundingSource").combobox("setValue", data.FundingSource); if (data.FundingSource) { $("#FundingSource").combobox("select", data.FundingSource); }

EasyUI Combobox组合框(模糊搜索、默认值绑定)

EasyUI Combobox组合框是个比较好用的前端组件,例如它支持本地搜索和远程搜索,这样就可以免去自己写模糊查询.基本使用方式如下: <input id="cc" name="dept" value="aa"> $('#cc').combobox({ url:'JsonData.ashx', valueField:'id', //表单值 textField:'text', //表单文本 mode:'local', //本地搜索

表单(上)EasyUI Form 表单、EasyUI Validatebox 验证框、EasyUI Combobox 组合框、EasyUI Combo 组合、EasyUI Combotree 组合树

EasyUI Form 表单 通过 $.fn.form.defaults 重写默认的 defaults. 表单(form)提供多种方法来执行带有表单字段的动作,比如 ajax 提交.加载.清除,等等.当提交表单时,调用 'validate' 方法来检查表单是否有效. 用法 创建一个简单的 HTML 表单.构建表单并给 id.action.method 赋值. <form id="ff" method="post"> <div> <lab

EasyUI combox实现联动

多的时间将被用于combox联动效应.一个选择combox的值自己主动出这值有关相应的其他信息,例如省市联动.最近,我刚刚会见了班似要求,随着EasyUI  combobox 控制完成.假设ASP.NET 里面DropDownList的话,那就非常easy了,一个SelectIndexChange事件再加一个AutoPostBack即可了,以下就是我实现的功能,事实上非常easy,可是对于像我这样刚接触EasyUI.而且对JQ不熟悉的人来说还是有点费神. 首先是数据库:为此我特地做了一个測试数据

easyui combobox 本地数据实现输入中文拼音简码过滤数据

<pre name="code" class="html"><input class="easyui-combobox" name="language" data-options=" data: baseData.emp.ck, width: 105, height: 26, valueField: 'id', textField: 'text', inputCode: 'inputCode', /

easyui combobox开启搜索自动完成功能

combo.json [{ "id":-1, "text":" ", "spell":"" },{ "id":1, "text":"类型1", "spell":"lx1" },{ "id":2, "text":"类型2", "spell&q

装13失败后的逆袭(ComboBox的联动)

当我们在做ComboBox的联动的时候飞一般的敲出自认为完美的代码.在运行的时候突然变得不完美了. 比如: 如果发生了这种情况会不会就卡磁了呢 当然不会作为程序猿的我们考的是我们聪明的大脑,当然会想出解决办法. 接下来我们来看一下解决方法: (1)将DataSource=泛型集合,调整到最后一行 private void Form1_Load(object sender, EventArgs e) { cboSubject.DropDownHeight = 106; cboGrade.Value

jquery easyui combobox 从指定位置开始模糊查询

$("#bzr").combobox({ url: "ClassSave.aspx?opt=bzr&bzr=<%=arrbj[2]%>", valueField: "value", textField: "text", mode: "local", filter: function (q, row) { var opts = $(this).combobox('options'); va

解决easyui combobox不能默认选中

开始出现很奇怪的问题,ff没有问题IE8还是会出现不能选中默认项的问题,更改了select.input的方式,数据加载方式也更改为json的方式,未果,最后将datagrid toolbar的初始化放到了datagrid之后,选中使用了 'selected': 'true', 搞定. 解决easyui combobox不能默认选中