layui扩展组件zTreeSelectM,下拉树多选,支持设置

2019-12-17  本文已影响0人  xiyi0151

项目介绍

项目中需要用到下拉树多选功能,找到两个相关组件moretop-layui-select-ext和wujiawei0926-treeselect,但是moretop-layui-select-ext不支持树结构,wujiawei0926-treeselect不支持多选,于是干脆仿照moretop-layui-select-ext动手写了一个组件,选择zTree而没有选择layuiTree的主要原因是layuiTree暂不支持父子关系取消。

渲染代码

var _zTreeSelectM = zTreeSelectM({
    elem: '#zTreeSelectM',//元素容器【必填】         
    data: './json/1.json',//候选数据【必填】
    width: 600,  //设置了长度   
    selected: [3,6,29],//默认值           
    max: 3,//最多选中个数,默认5           
    name: 'field',//input的name 不设置与选择器相同(去#.)
    delimiter: ',',//值的分隔符         
    field: { idName: 'id', titleName: 'name' },//候选项数据的键名
    zTreeSetting: { //zTree设置
        check: {
            enable: true,
            chkboxType: { "Y": "", "N": "" }
        },
        data: {
            simpleData: {
                enable: false
            },
            key: {
                name: 'name',
                children: 'children'
            }
        }
    }
});

获取选中数据代码

form.on('submit(demo)',function(data){
    console.log('zTreeSelectM 当前选中的值名:',_zTreeSelectM.selected);
    console.log('zTreeSelectM 当前选中的值:',_zTreeSelectM.values);
    console.log('zTreeSelectM 当前选中的名:',_zTreeSelectM.names);      
     var formData = data.field;
      console.log('表单对象:',formData);
      return false;
})
//监听重置按钮
$('form').find(':reset').click(function(){
    $('form')[0].reset();
    _zTreeSelectM.set();//默认值
    return false;
});
$("#set").on('click',function(e){
    _zTreeSelectM.set([4,7,13]);
    return false;
})

效果图

效果图

码云下载

码云演示

上一篇下一篇

猜你喜欢

热点阅读