zoukankan      html  css  js  c++  java
  • 基于bootstrap的multiple-select下拉控件使用

    multiple-select是一款优秀的下拉菜单控件,能够支持单选和多选。

    详细参考文档:

    JS组件系列——两种bootstrap multiselect组件大比拼

    multiple-select

    本项目通过使用控件multiple-select实现动态创建单选和多选下拉控件

    这里做个小说明:一开始我选用的控件为bootstrap-multiselect  后来,由于我的需求中有个要求:单选下拉默认是不需要有选中项,而bootstrap-multiselect默认会选中一个下拉,multiple-select则不会。


            

     使用步骤如下:

    1、分别在 bootstrap.css 和 bootstrap.js 后引入 multiple-select.css 和 multiple-select.js 

    2、声明下拉控件:单选和多选下拉声明方式是一致的

    <select id="ft_' + ftCtrName + '" name="ft_' + ftCtrName + '" value="' + ftCtrValue + '" placeholder="' + ftCtrPlaceholder + '" multiple="multiple" >

    3、初始化单选和多选下拉

    获取和绑定option值,示例:

    //获取multiselect的options
    var GetOptions = function (url) {
        var ops = "";
    
        var data = $.ajax({
            url: url,
            async: false
        });
    
        if (data != null && data.responseText != null && data.responseText.length > 0) {
            var arr = $.parseJSON(data.responseText);
            $.each(arr, function (i, item) {
                ops += "<option value='" + item.VALUE + "'>&nbsp;" + item.TEXT + "</option>
    ";
            });
        }
        return ops;
    }
    View Code

            注意:由于我这里需要等待添加 option,所以将ajax改为同步 async: false。若为异步,则没等ajax数据返回,下面代码就执行走了得不到想要 option

    初始化单选或多选下拉(以下是自定义的一个方法,用于动态初始化)

    //给下拉控件赋值
    //ctrlName:控件名
    //ftCtrValue:下拉项值-字符串,以逗号分隔
    //isSingle:false=单选,true=多选
    var evalMultiselect = function (ctrlName, ftCtrValue, isSingle) {
        var control = $('#' + ctrlName);
    
        var valArr = [];//初始化默认选中项
        if (ftCtrValue != null && ftCtrValue != "" && ftCtrValue.length > 0) {
            var valArr = ftCtrValue.toString().split(",");
        }
    
        //设置select的处理
        if (isSingle) {
            control.val(valArr).multipleSelect({
                placeholder: "请选择",
                // '100%',
                single: true
            });//单选,加入single: true
        }
        else {
            control.val(valArr).multipleSelect();//多选,不需要single: true
        }
    }

    4、获取控件值$("#select").val();

  • 相关阅读:
    并发编程三、线程可见性的底层原理
    并发编程二、线程的安全性和线程通信
    并发编程一、多线程的意义和使用
    Java进程监控
    分布式消息通信之RabbitMQ_Note
    分布式消息通信之RabbitMQ_02
    分布式消息通信之RabbitMQ_01
    分布式消息通信之RabbitMQ Tutorials
    SpringMVC重点分析
    Apache POI 4.0.1版本读取本地Excel文件并写入数据库(兼容 xls 和 xlsx)(五)
  • 原文地址:https://www.cnblogs.com/senyier/p/7327234.html
Copyright © 2011-2022 走看看