zoukankan      html  css  js  c++  java
  • easyui 中combogrid 实现多选,反选效果

    实现EasyUI Combogrid组件的多选和反选效果

    1.html 代码

    <input id="roadClass"  name="road" />

    <div id="Toolbutton" style="padding: 5px;">
    <label class="mr-10" id="allChoose">全选</label>
    <label id="unChoose">反选</label>
    </div>

    2.js代码

    // 渠道来源
    $('#roadClass').combogrid({
    multiple: true, //设置允许多选
    panelWidth:150,
    panelHeight:300,
    idField:'id',
    textField:'text',
    data:road, //调用json数据
    toolbar:'#Toolbutton',
    showHeader:false,  //隐藏标头
    checkOnSelect:true,
    columns:[[
    {
    field: 'id',
    title: 'Toolbutton',
    align:'center',
    checkbox:true
    },{
    field: 'text',
    title: '选择',
    120
    }
    ]]
    });
    $('#roadClass').next('span').eq(0).children('input').attr('placeholder','所有');
    var flag=false; //设置全选的开关
    $('#allChoose').click(function(){
    $(this).toggleClass('fontRed fb pointer');  //切换类,这块设置的是全选点击的样式
    if(flag==true){
    $('#roadClass').combogrid('grid').datagrid('checkAll');
    flag=false;
    }else{
    $('#roadClass').combogrid('grid').datagrid('uncheckAll');
    flag=true;
    }

    });

    $('#unChoose').click(function(){
    var nodes=$('#roadClass').combogrid('grid').datagrid('getChecked'); //注意 combogrid中利用datagrid中方法的选取方式
    var arr=[];
    for(var i=0;i<nodes.length;i++){
    var index=$('#roadClass').combogrid('grid').datagrid('getRowIndex',nodes[i]);
    arr.push(index);
    }
    $('#roadClass').combogrid('grid').datagrid('checkAll');
    for(var j=0;j<arr.length;j++){
    $('#roadClass').combogrid('grid').datagrid('uncheckRow',arr[j]);
    }
    });

    css代码:

    .pointer{cursor: pointer;}

    .fb{font-weight: bold;}

    .fontRed{ color: red;}

    json数据:

    var road=[
    {"id":"1","text":"1"},
    {"id":"2","text":"2"},
     

    注意点:

    1.一般情况下我们设置datagrid很少隐藏列标头, 设置 showHeader:false,可以隐藏标头

    2.在任何未选中的情况下设置默认显示‘’所有‘’  $('#roadClass').next('span').eq(0).children('input').attr('placeholder','所有');  

    3.combogrid情况下,利用datagrid中的方法: $('#roadClass').combogrid('grid').datagrid('方法'); 

  • 相关阅读:
    每天一个linux命令:top命令
    docker入门实战笔记
    Linux top里面%CPU和us%的解释
    mac开发环境配置
    TCP/IP及内核参数优化调优
    在C#中使用代理的方式触发事件(转,这篇应该是最好的)
    如何在Vista IIS 7 中用 vs2005 调试 Web 项目? (转)
    C#接口慨述
    asp跟asp.net的区别
    解耦的故事(一)tmfc的开关(转)
  • 原文地址:https://www.cnblogs.com/wenyan/p/9367432.html
Copyright © 2011-2022 走看看