zoukankan      html  css  js  c++  java
  • EasyUI combobox

    设置Combobox默认选中项

     $("#selectDock").combobox({
        valueField: 'value',
        textField: 'label',
        panelHeight:"auto",
        data: [{
              label: '靠上',
              value: 'top',
              selected:true //默认选中项
        }, {
              label: '靠左',
              value: 'left'
        }],
        onSelect: function (rec) {
             //选中事件
        }
    });

    当文本框和combobox设置同样的宽度的时候,代码视图展示如图,都设置为148px宽度

    预览后的效果如下:

    同样宽度情况下,combobox设置的宽度 多加6px 才可以和文本框显示一样的长度

    =========================================================

     通过ajax后台获取json数据 初始化combobox

     $("#selectCategory").combobox({
                url: "http://www.cnblogs.com/Ajax/sys/DomainCategory.ashx?Method=GetAllCategorys",
                valueField: "CategoryID",
                textField: "CategoryName"
           value: '-1',//默认选中项 //panelHeight: "auto",//去掉该属性,当内容过多的时候就会自动出现滚动条 });

    设置combobox选中项:$('#selectCategory').combobox('setValue', "123");

     禁制用户输入属性:editable:false

    $("#A_selectCategory").combobox({
     url: "http://www.cnblogs.com/Ajax/sys/DomainCategory.ashx?Method=GetAllCategorys",
     valueField: "CategoryID",
     textField: "CategoryName",
     editable:false
    });

     combobox默认选中项=====================================================

     ajax获取后台的JSON数据,在第一个节点的属性上添加 selected:true 这个属性 即可让这个节点默认为选中的,但是这样我们后台获取的数据不大好处理,我一般都是一个datatable或者List 用json.net直接转换为json了。

    另外一种方式:参考网址:http://www.jeasyui.com/documentation/combobox.php

     就是在combobox的加载完毕事件里获取当前的combobox数据,设置第一个节点为选中项

     $("#select_Dic").combobox({
                            url: "http://www.cnblogs.com/Ajax/sys/WebServiceBase.ashx?Method=GetRefItems", //获取所有私有域
                            valueField: "Code",
                            textField: "Name",
                            panelHeight: "auto",
                            editable: false, //不允许手动输入
                            onLoadSuccess: function () { //数据加载完毕事件
                                var data = $('#select_Dic').combobox('getData');
                                if (data.length > 0) {
                                    $("#select_Dic").combobox('select', data[0].Code);
                                }
                            }
                        });

     另外一种较为简单点的写法

     onLoadSuccess: function () {
            var data = $(this).combobox('getData');
            if (data.length > 0) {
                $(this).combobox('select', data[0].Code);
           }
    }

    ==========================================================================================================

     

    选中多个值

     $("#GC025_WRYLB").combobox({
                method: "post",
                data: [
                {CODE: '31', NAME: '大气环境污染源' }, { CODE: '32', NAME: '地表水体环境污染源' }, { CODE: '33', NAME: '地下水体环境污染源' },
                { CODE: '34', NAME: '海洋环境污染源' }, { CODE: '35', NAME: '土壤环境污染源' }, { CODE: '36', NAME: '声环境污染源' }, { CODE: '37', NAME: '振动环境污染源' },
                { CODE: '38', NAME: '放射性环境污染源' }, { CODE: '41', NAME: '电磁环境污染源' }, { CODE: '49', NAME: '其他污染对象的污染源'}],
                valueField: "CODE",
                textField: "NAME",
                value: '32',
                multiple: true, //多选
                editable: false,
                onLoadSuccess: function () {
                }
            });

     获取选中的多个值。将获取到的值通过ajax传入到后台的时候,取出来的数据例如是:"31,32,33,34" 需要对该字符串编码 encodeURI() 后台通过 UrlDecode解码即可,否则后台获取到的是空值

    var GC025_WRYLB = $('#GC025_WRYLB').combobox('getValues'); //污染源类别 这里注意是用的getValues

     设置多个选中值

    $('#GC025_WRYLB').combobox('setValues', ['32','33']);//后面的值是数组的形式

     例如我从后台的数据库里取出来了数据前台的赋值方法。数据内的数据的存储如下图,

    31,32,33,34这样存储选中的多个值

    前台的赋值方法是

      var vArray = new Array();//创建一个数组
      var str = row.GC025_WRYLB.toString().split(',');
      for (var i = 0; i < str.length; i++) {
          vArray.push(str[i]);//循环把值添加到数组里面
      }
      $('#GC025_WRYLB').combobox('setValues', vArray);
  • 相关阅读:
    天梯赛5-12 愿天下有情人都是失散多年的兄妹 【dfs】
    poj2718 Smallest Difference【贪心】
    HDU problem 5635 LCP Array【思维】
    codeforces 782C Andryusha and Colored Balloons【构造】
    HDU 4278 Faulty Odometer【进制转换】
    codeforces B. The Meeting Place Cannot Be Changed【二分】
    POJ 3264 Balanced Lineup 【线段树】
    HDU 1850
    CodeForces-714C
    HDU Problem 1247 Hat's Words 【字典树】
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/2948095.html
Copyright © 2011-2022 走看看