• 基于bootstrap 实现下拉框搜索功能


    由于项目中下拉项内容太多,所以需要用到搜索功能,因此用bootstrap的下拉可以完美实现

    <div class="field-group">
      <select  class="form-control" id="sel_pcType" data-live-search="true">  
        <option value="" >第一项</option>
      </select>
    </div>

    首先我需要从后台取到下拉的内容添加到select中 

    封装添加option的函数

    function addOptions(container,list,value,desc) {
      var selectObj = document.getElementById(container);
      if(selectObj){
        var length = list.length;
        for ( var i = 0; i < length; i++) {
          var obj = list[i];
          var op = new Option(obj[desc],obj[value]);
          selectObj.options.add(op);
        }
      }
    }

    获取后台数据

    后台1.后台2(传参数,function(datas){

      if(datas && datas.length > 0){

        addOptions("sel_pcType",datas,"ddValue","ddDesc");

        添加option以后

        $('#sel_pcType').selectpicker();

      }

    }

    就可以实现下拉和搜索了,这里主要是$('#sel_pcType').selectpicker()要在添加完option以后实现,并且配合data-live-search="true"属性来整体实现

    如果是前端写死的option  那么不用这么麻烦只要class="selectpicker show-tick form-control"    data-live-search="true" 属性直接写在select标签上就可以实现了 ,需要多选 添加multiple属性即可。

    获取值的话$('#sel_pcType').val()就可以了。

    讲解了其他使用内容链接  https://www.cnblogs.com/landeanfen/p/7457283.html#_label1

     直接动态加载也可以

    function  getOption(obj) {
     $.ajax({
      type: 'get',
      url: 地址,
      success: function (data) {
       if (data) {   
        $.each(data, function (i, n) {
         $("#" + obj).append(" <option value="" + n.id + "">" + n.text + "</option>");
        })
        $("#" + obj).selectpicker('refresh');
         
       }
      }
     })
     
    }
     
    官网  api    http://silviomoreto.github.io/bootstrap-select/
  • 相关阅读:
    Linux 字典数组应用
    Linux shell 字符串切割 内置方法
    【Swing/文本组件】定义自动换行的文本域
    【C++语法基础】实验1
    【Swing程序设计/常用面板】
    【标签组件与图标 3.3】
    【2018.2.26算法总结#分治】
    数据结构#课表排序及查询
    数据结构#前序遍历建立二叉树 输出中序遍历
    OJ#1002 又是a+b
  • 原文地址:https://www.cnblogs.com/wdd-cindy/p/8891409.html
Copyright © 2020-2023  润新知