• EasyUI中combobox的使用方法和一个代码实例


    一、easyUI中select下拉框动态添加option选项

      问题:想在combobox的下拉项里动态添加一些内容,但是添加不成功。因为jquery easyui的下拉列表combobox是用DIV模拟的(其实看看它的样式就应该想到)

      解决方法:

      1、一个空下拉框,注意不能加class="easyui-combobox",否则不生效

    <select class="timeJ " id="selectInfo1" panelheight="auto" editable="false" style="220px;">
    </select>
    //注意class不能加easyui-combobox

      2、为下拉框添加子项:利用文档碎片

    var fragment = document.createDocumentFragment();
    for(var i=1;i<25;i++){
        var option = document.createElement("option");
        option.innerHTML = i + "";
        $(option).attr("value",i);
        fragment.appendChild(option);
    }
    $("#selectInfo1").append(fragment);
    $("#selectInfo1").combobox({});

      3、将下拉框转化为easyUI中的combobox

    $("#selectInfo1").combobox({});

      只要填充好数据,再去转化那就可以了。

    二、Combobox用法和方法参数:

    1、 需要引入class=" easyui-combobox”

    2、 参数设置需要在data-options中设置

    3、 属性参数配置:

    valueField:基础数据值名称绑定到Combobox(提交值)

    textField:基础数据的字段名称绑定的Combobox(显示值)

    mode:定义当文本改变时如何加载列表数据,当设置为remote模式下,什么类型的用户将被发送http请求参数名为'q'的服务器,以获取新的数据。

    url:从远程URL来加载列表数据

    method:http方法检索列表数据

    data:列表中被加载的数据

    filter:定义如何过滤本地数据“模式”设置为'local'

    formatter:定义如何呈现行

    loader:定义如何从远程服务器加载数据

    常用属性:

     <td>
       <select id="usbLabel" class="easyui-combobox"  name="labelList" style="285px;" panelHeight="150px" panelWidth="285px" editable="false">
           <s:iterator value="#request.labelList" var="list"><option value="<s:property  value="#list.name" />"><s:property  value="#list.name" /></option></s:iterator>
       </select>
       <label class="requiredLable">*</label>
    </td>
    //style:设置宽度样式之类
    //panelWidth:设置下拉面板宽度
    //panelHeight:设置下拉面板高度

    4、 事件:

    onBeforeLoad(param): 操作之前将数据加载,返回false就取消这个荷载作用

    onLoadSuccess():触发时,远程数据加载成功

    onLoadError:触发时,远程数据加载错误

    ONSELECT:触发,当用户选择一个列表项

    onUnselect:触发,当用户取消选择一个列表
    5、方法:

    options():返回选择对象

    getData():返回加载的数据

    loadData(data):加载列表数据

    reload(url):重新加载远程数据列表

    setValues(values):设置combobox的值数组

    setValue(value):设置combobox的值

    clear():清空combobox的值

    select(value):选中指定的值

    unselect(value):取消指定的值

    代码实例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>combobox</title>
    <link rel="stylesheet" type="text/css" href="themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="themes/icon.css">
    <script type="text/JavaScript" src="jQuery-1.7.2.min.js"></script>
    <script type="text/javascript" src="jquery.easyui.min.js"></script>
    <script type="text/javascript">
    //动态加载数据集文件数据
    function loadData(){
        $('#cc').combobox({
            url:'combobox_data.json',
            valueField:'id',
            textField:'text'
        });
    }
    
    //设置下拉框的值
    function setValue(){
        $("#cc").combobox("setValue","动态添加的列表值");
    }
    
    //获取当前选择的值
    function getValue(){
        var selectText=$("#cc").combobox("getValue");
        alert("当前选择的是:"+selectText);
    }
    //禁用当前选择框
    function disable(){
        $("#cc").combobox("disable");
    }
    //启用当前选择框
    function enable(){
        $("#cc").combobox("enable");
    }
    
    $('#cc1').combobox({
        filter: function(q, row){
            var opts = $(this).combobox('options');
            return row[opts.textField].indexOf(q) == 0;
        },
        formatter: function(row){
            var opts = $(this).combobox('options');
            return row[opts.textField];
        }
    });
    </script>
    </head>
    <body>
    <h2>ComboBox</h2>
    <div style="margin:10px 0;">
    <a href="#" class="easyui-linkbutton" onclick="loadData()">LoadData</a>
    <a href="#" class="easyui-linkbutton" onclick="setValue()">SetValue</a>
    <a href="#" class="easyui-linkbutton" onclick="getValue()">GetValue</a>
    <a href="#" class="easyui-linkbutton" onclick="disable()">Disable</a>
    <a href="#" class="easyui-linkbutton" onclick="enable()">Enable</a>
    </div>
    <p>单项选择的ComboBox: </p>
    <select id="cc" class="easyui-combobox" name="state" style="200px;" data-options="required:true,150">
    <option value="AL">Alabama</option>
    <option value="NC">North Carolina</option>
    <option value="ND">North Dakota</option>
    <option value="OH" selected>Ohio</option>
    <option value="OK">Oklahoma</option>
    <option value="OR">Oregon</option>
    </select>
    <br/>
    <p>本地数据源的Combobox</p>
    <input class="easyui-combobox" id="cc1" 
        data-options="valueField:'lable',textField:'value',
        data:[{
                    lable:'Java',
                    value:'java'
                },
                {
                    lable:'liferay',
                    value:'liferay'
                },
                {
                    lable:'jiar',
                    value:'jiar'
                },
                {
                    lable:'ruby',
                    value:'ruby'
                }
            ]"/>
    <br />
    <p>来源网页数据的Combobox</p>
    <input class="easyui-combobox" id="cc2" 
        data-options=" valueField: 'id', textField: 'text',url: 'get_data1.PHP',
        onSelect: function(rec){
                var url = 'get_data2.php?id='+rec.id;
                $('#cc3').combobox('reload', url);
            }" />
    <input id="cc3" class="easyui-combobox" data-options="valueField:'id',textField:'text'" />
    <br/>
    <p>多项选择的ComboBox: </p>
    <select id="cc4" class="easyui-combobox" name="state" style="200px;" 
        data-options="url:'combobox_data.json',
            valueField:'id',
            textField:'text',
            multiple:true,
            panelHeight:'auto'
            "/>
    </body>
    </html>
  • 相关阅读:
    Coding过程中遇到的一些bug
    Git GUI的使用
    CMD控制台下的JAVAC就是“不是内部或外部命令
    Android TextView 设置滚动条(纯xml)
    Referenced file contains errors (http://www.springframework.org/schema/aop/spring-aop-3.0.xsd). For more information, right click on the message in th
    Eclipse工具栏上android的机器人小图标不见了
    eclipse indigo 安装 Eclipse Marketplace Client
    eclipse导入android项目错误,项目名称上有红叉,但代码中无报错
    Git GUI 的使用
    Android GridView 行间距过大(一页一行)
  • 原文地址:https://www.cnblogs.com/goloving/p/7115792.html
Copyright © 2020-2023  润新知