基于bootstrap实现多个下拉框同时搜索功能

 更新时间:2017年07月19日 08:36:38   作者:xiaolin_peter  
这篇文章主要为大家详细介绍了基于bootstrap实现多个下拉框同时搜索功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了bootstrap实现下拉框搜索展示的具体代码,供大家参考,具体内容如下

1.第一个下拉框代码

<div class="btn-group col-sm-3 col-xs-6 util-btn-margin-bottom-5 quick-search"> 
       <!--快速查询-->
       <div class="input-group">
        <span class="input-group-addon"><i class="fa fa-search"></i></span>
        <select data-filter-type="2" name="copyfrom" class="form-control select2" data-validate="notempty" style="visibility: hidden;" data-field="name" data-placeholder="搜索数据资源">
         <option value="">请选择数据资源</option>
         <optgroup label="UNESCO二类中心">
          <#list data.copyfromList as entity>
          <#if (entity.type?? && entity.type == '1')>
          <option value="${entity.alias!}" <#if (param.copyfrom?? && param.copyfrom == entity.alias)>selected</#if>>${entity.alias!}</option>
          </#if>
          </#list>
         </optgroup>
         <optgroup label="科技动态与进展">
          <#list data.copyfromList as entity>
          <#if (entity.type?? && entity.type == '7')>
          <option value="${entity.alias!}" <#if (param.copyfrom?? && param.copyfrom == entity.alias)>selected</#if>>${entity.alias!}</option>
          </#if>
          </#list>
         </optgroup>
         <optgroup label="其他">
          <#list data.copyfromList as entity>
          <#if (entity.type?? && entity.type == '8')>
          <option value="${entity.alias!}" <#if (param.copyfrom?? && param.copyfrom == entity.alias)>selected</#if>>${entity.alias!}</option>
          </#if>
          </#list>
         </optgroup>
        </select>
       </div>
      </div>

2.第二个下拉框代码

<div class="btn-group col-sm-3 col-xs-6 util-btn-margin-bottom-5 quick-search"> 
       <!--快速查询-->
       <div class="input-group">
        <span class="input-group-addon"><i class="fa fa-search"></i></span>
        <select data-filter-type="2" name="cid" class="form-control select2" data-validate="notempty" style="visibility: hidden;" data-field="name" data-placeholder="搜索栏目名称">
         <option value=""></option>
         <#list data.categories as entity>
         <option value="${entity.id}" <#if (param.cid?? && param.cid == entity.id)>selected</#if>>${entity.id} - ${entity.name}</option>
         </#list>
        </select>
       </div>
      </div>

3.后台js代码(url 参数整理)

bindEvents:function(){
    var self = this, dom = self.element;
    $('select[name="copyfrom"]', dom).change(function(event){
    self.params.copyfrom = $(this).val();
    var url = self.formatParams(self.params);
    window.location.href = "cekasp_article.htm" + url;
  });

    $('select[name="cid"]', dom).change(function(event){
    self.params.cid = $(this).val();
    var url = self.formatParams(self.params);
    window.location.href = "cekasp_article.htm" + url;
  });

 }

  formatParams:function(params){
    var self = this;
    var url = "";
    for(var param in params){
    if(params[param]){
      url += param + "=" + params[param] + "&";
    }
  }
    if(url.length > 0){
      url = "?" + url.substring(0,url.length-1);
  }
    return url;
  }

 4.后台java部分代码(接收参数,然后过滤器根据参数得到想要的结果)

   String categoryId = request.optString("cid");
  if (!ValidateUtil.isNull(categoryId)) {
  // 加载栏目信息
    JSONObject jsonCategory = toJSONObject(adminService.loadById(CekaspCategory.class, categoryId));
    response.put("category", jsonCategory);
    param.addFilter("id", FilterType.IN, articleIdList, 1);

  }

  String copyfrom = request.optString("copyfrom");
  if (!ValidateUtil.isNull(copyfrom)) {
    param.addFilter("copyfrom", FilterType.EQUALS, copyfrom);

  }

  List<CekaspArticle> articleList = adminService.list(CekaspArticle.class,param);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • TypeScript中枚举类型的理解与应用场景

    TypeScript中枚举类型的理解与应用场景

    如 TypeScript 官方文档所说,枚举类型是对 JavaScript 标准数据类型集的扩充,所以下面这篇文章主要给大家介绍了关于TypeScript中枚举类型的理解与应用场景的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • JavaScript实现三级联动菜单效果

    JavaScript实现三级联动菜单效果

    这篇文章主要为大家详细介绍了三级联动菜单效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • js用类封装pop弹窗组件

    js用类封装pop弹窗组件

    这篇文章主要为大家详细介绍了js用类封装pop弹窗组件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 关于JS中setTimeout()无法调用带参函数问题的解决方法

    关于JS中setTimeout()无法调用带参函数问题的解决方法

    这篇文章主要介绍了关于JS中setTimeout()无法调用带参函数问题的解决方法,提供了2种解决方法供大家对比参考,需要的朋友可以参考下
    2016-06-06
  • JavaScript可视化与Echarts详细介绍

    JavaScript可视化与Echarts详细介绍

    提到数据可视化相信大家都不陌生,它能够将单一的数据通过合适的可视化图表类型表现出来,使其更加直观的展现数据的变化趋势、对比、峰值等等。其实在前端开发中,数据可视化也尤为重要,在众多图表库中,echarts就是最常见的图表库之一
    2022-07-07
  • 用js实现计算代码行数的简单方法附代码

    用js实现计算代码行数的简单方法附代码

    用js实现计算代码行数的简单方法附代码...
    2007-08-08
  • JavaScript实现统计文本框Textarea字数增强用户体验

    JavaScript实现统计文本框Textarea字数增强用户体验

    现在流行的Twitter等微博客网站,有一个很好的用户体验,就是在文本框中输入文字的时候,会自动统计输入的字符,并显示用户还能输入的字符,在限制了140个字的微博客中,这样的小提示可以很好的增强用户体验,本文也尝试着实现一下
    2012-12-12
  • js添加删除行和双击变文本框的脚本

    js添加删除行和双击变文本框的脚本

    发现我JS真的还有很多要学,下面只是我的练习作品,代码很多是网上的。
    2008-07-07
  • bootstrap日历插件datetimepicker使用方法

    bootstrap日历插件datetimepicker使用方法

    这篇文章主要为大家详细介绍了bootstrap日历datetimepicker插件的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • 小程序获取用户名和头像完整代码

    小程序获取用户名和头像完整代码

    这篇文章主要介绍了关于小程序获取用户名和头像的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者用小程序具有一需要的参考借鉴价值,朋友可以参考下
    2023-07-07

最新评论