• easyUI ComboBox


    combobox显示的是一个可以编辑的文本框和一个下拉列表.允许用户从里面选择一个或者是多个值,用户可以直接输入值到列表顶部,或者可以从列表选择一个或多个现有值.

    相关依赖

    • combo

    使用示例

    从<select>元素和一个预定义结构创建combobox
     

    <select id="cc" class="easyui-combobox" name="dept" style="200px;">    

    <option value="aa">aitem1</option>    

    <option>bitem2</option>    

    <option>bitem3</option>    

    <option>ditem4</option>    

    <option>eitem5</option>    

    </select>    

     

    从<input>标记创建combobox
    方法1:

    <input id="cc" class="easyui-combobox" name="dept"    

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

    方法2:

    <input id="cc" name="dept" value="aa">    

    $('#cc').combobox({    

        url:'combobox_data.json',    

        valueField:'id',    

        textField:'text'    

    });  

    方法3:

    <input id="cc" class="easyui-combobox" name="dept"    

    data-options="valueField:'id',textField:'text'" />

    $("#cc").combobox("loadData",$.parseJSON(data))  ;

    创建两个依赖的combobox

    <input id="cc1" class="easyui-combobox" data-options="    

            valueField: 'id',    

            textField: 'text',    

            url: 'get_data1.php',    

            onSelect: function(rec){    

                var url = 'get_data2.php?id='+rec.id;    

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

            }" />    

    <input id="cc2" class="easyui-combobox" data-options="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"    

    }]    

    属性

    这些属性继承至 combo,下面是combobox的一些新增属性.

    NameTypeDescriptionDefault
    valueField string 绑定到这个combobox的基础数据值名. value
    textField string 绑定到这个combobox的数据字段名. text
    mode string 当文本改变时定义如何加载显示列表数据.如果设置为'remote' combobox从远程服务器加载数据.当设置为'remote'模式时, 用户输入的信息将发送作为http请求参数,参数名为'q'到服务器检索新的数据. local
    url string 一个从远程服务器加载列表数据的URL. null
    method string 检索数据的http请求方法 . post
    data array 需要加载到列表的数据.

    示例代码:

    <input class="easyui-combobox" data-options="
    		valueField: 'label',
    		textField: 'value',
    		data: [{
    			label: 'java',
    			value: 'Java'
    		},{
    			label: 'perl',
    			value: 'Perl'
    		},{
    			label: 'ruby',
    			value: 'Ruby'
    		}]" />
    
    null
    filter function 定义如何过滤本地数据,当'mode'设置为'local'的时候. 这个函数提供两个参数:
    q: 用户输入的文本.
    row: 列表的行数据.
    返回true 允许行显示 .

    示例代码:

    $('#cc').combobox({
    	filter: function(q, row){
    		var opts = $(this).combobox('options');
    		return row[opts.textField].indexOf(q) == 0;
    	}
    });
    
     
    formatter function 定义如何呈现行. 这个函数提供一个参数 :row.

    示例代码:

    $('#cc').combobox({
    	formatter: function(row){
    		var opts = $(this).combobox('options');
    		return row[opts.textField];
    	}
    });
    
     
    loader function(param,success,error) 定义如何从远程服务器加载数据. 返回false终止这个动作.这个函数提供一下参数:
    param:传递给远程服务器的参数对象.
    success(data): 当检索数据成功这个回调函数将被调用.
    error():当检索数据失败(异常,而不是返回空数据的时候)这个函数将被调用.
    json loader

    事件

    事件继承至 combo, 以下是combobox的新增事件.

    NameParametersDescription
    onBeforeLoad param 一个请求在加载数据之前触发,返回false取消这个加载动作.

    示例代码:

    // 在从远程服务器加载数据之前改变请求参数
    $('#cc').combobox({
    	onBeforeLoad: function(param){
    		param.id = 2;
    		param.language = 'js';
    	}
    });
    
    onLoadSuccess none 当远程数据加载成功之后触发.
    onLoadError none 远程数据加载出错触发.
    onSelect record 当用户选择一个列表项的时候触发.
    onUnselect record 当用户取消选择一个列表项的时候触发.

    方法

      方法继承至 combo,以下是combobox的新增的或者是重写的方法.

    NameParameterDescription
    options none 返回 options 对象.
    getData none 返回加载数据.
    loadData data 返回本地列表数据.
    reload url 请求远程服务器列表数据.传入'url'参数重写原始的URL值.

    示例代码:

    $('#cc').combobox('reload');  //使用原始URL重新加载列表数据
    $('#cc').combobox('reload','get_data.php');  //使用新的URL重新加载列表数据
    
    setValues values 设置 combobox 值数组.

    示例代码:

    $('#cc').combobox('setValues', ['001','002']);
    
    setValue value 设置 combobox 值.

    示例代码:

    $('#cc').combobox('setValues', '001');
    
    clear none 清除 combobox 值.
    select value 选择特定的项.
    unselect value 取消特定的选择项
  • 相关阅读:
    功能3 -- 基于jquery的load()实现多个.html静态页,引用同一个header.html和footer.html文件
    功能2 -- hover出现遮照效果
    功能1 -- 顶部导航栏和返回顶部效果
    使用swiper简单的h5下滑翻页效果,
    Vue源码阅读,如何渲染代码块生成? 本文详解
    这15道Vue常见面试题,你会几道??
    学会这些Vue小技巧,可以早点下班和女神约会了!
    TypeScript在Model中是如何操作运用的?本文详解
    Vue3教程,抢先学习
    Webpack 5模块联邦会不会引发微前端的革命呢? 本文详解
  • 原文地址:https://www.cnblogs.com/cmblogs/p/3886907.html
Copyright © 2020-2023  润新知