jsp多选并且模糊查询下拉框

本文介绍了如何在JSP中实现多选和模糊查询功能的下拉框。通过JavaScript的jQuery库,当用户在输入框中输入文字时,下拉框中的选项会根据输入内容进行动态过滤显示。同时,展示了相关的CSS和HTML代码段来完成界面的样式和结构设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(document).ready(function() {(“.ordrStatus1”).hide();
//来源 选择弹出框
(“#closeStatus”).click(function() {  
                 $(“.ordrStatus1”).fadeOut(300);  
           });
(“#closd”).click(function(){
(“.ordrStatus1”).fadeOut(300);  
        });
(“.beSelect”).removeAttr(“border-color”);
(“#searchText”).keyup(function(){  
                var searchText =
(this).val();
var beSelectT=”“;
(“.beSelect”).each(function(){  
                     beSelectT =
(this).parent().text();
if(beSelectT.indexOf(searchText)==-1){//不包含
(this).prop(checked,false);(this).parent().hide();
}else{
$(this).parent().show();
}
});

       });
 });


 function showStatus1(abc){
            var ordrStatus1s = $(".ordrStatus1").is(":hidden");
            if(ordrStatus1s){
                 $("#searchText").val("");
                 var value = $("#userSelect").val();
                 $("#selectList").children().remove();
                 $.ajax({
                       type : "POST",
                       data:{userId2: value},
                     url: "/query.action",
                       success: function(json){
                            var divStru ="";
                            divStru = "<div><input id=\"selecAll1\" type=\"checkbox\" style=\"width:20px;display:inline-block;\" onclick=\"selectAll1()\" />全选</div> ";

     var checkedIds = $("#orderStatusT").val();
     var flag = true;
                            $.each(json,function(key,obj){
                                 if(checkedIds.indexOf(obj.vipId)!=-1){

div=”

”+obj.vipName+”
“;
}else{
flag=false;
div=”
”+obj.vipName+”
“;
}
divStru += div;
});
divStru += “”;
(“#selectList”).append(divStru);  
              if(flag){
(“#selecAll1”).prop(“checked”,true);
}
}
});

                var offset = $(abc).offset();
                var w = $(abc).width();

               $(".ordrStatus1").show();
               $("#selectList").css({width: w+15});
               $("#selectList").css("padding-left","20px");
               $(".ordrStatus1").css("height","auto");
               $("#selectList").css("height","auto");
               $(".ordrStatus1").css("max-height","275px");
               $("#selectList").css("max-height","200px");
            }else{
                 $(".ordrStatus1").hide();
            }


 }

 function selectAll1(){
       var isCheck = $("[id='selecAll1']").prop("checked");
            $(".beSelect").each(function(){
                 if(!$(this).is(":hidden")){
                       $(this).prop("checked",isCheck);
                 }

       });
 }
 //确定选中
 function sureSelect(){
       var checkIds = "";
       var checkNames = "";
       $(".beSelect:checked").each(function(){
            checkIds += $(this).attr('value') +",";
            checkNames += $(this).parent().text()+",";
       });
       $("#vipId").val(checkIds);
       checkNames = checkNames.substring(0, checkNames.length-1);
       checkIds = checkIds.substring(0, checkIds.length-1);
       $("#orderStatus").val(checkNames);
       $("#orderStatusT").val(checkIds);
       $(".ordrStatus1").fadeOut(200);
 };

================================================css==========css=====begin===============css==============

 .ordrStatus1{
 vertical-align:middle;
 border:1px solid #ccc;
  background-color: #fff;
  position:absolute;display:none;
  cursor: pointer;
  border-radius:1px solid #ccc;
  color:#0060ca;
  z-index:9999;
  }

  .beSelect{
  height:18px;
  border-color:#FFFFFF;
  }
  #selecAll1 {
  height:18px;
  border-color:#FFFFFF;
  }

================================================css==========css=====end===============css==============

================================================html==========html=====start===============html==============

<think>好的,用户想了解如何使用bootstrap-select实现和模糊搜索的下拉框。首先,我需要回忆一下相关的组件用法。记得bootstrap-select是基于Bootstrap的一个扩展插件,可以增强原生的下拉框功能。 功能通常需要添加multiple属性,同时可能需要设置data-live-search属性来启用搜索。然后,用户提到的模糊查询应该就是实时搜索功能,这应该通过data-live-search="true"来实现。不过要确认是否正确。 接下来,查看用户提供的引用内容。引用[1]提到单框添加show-tick类来显示勾图标,这可能对样式也有参考。引用[2]展示了如何用jQuery获取中的项,这在处理时可能会用到。引用[3]的代码片段中有data-live-search="true"和multiple属性,这应该是关键部分。 需要整合这些信息,给出一个完整的示例。首先,确保HTML结构正确,引入必要的CSS和JS文件。然后,在<select>标签中添加multiple和data-live-search属性。此外,可能需要初始化插件,或者使用JavaScript来动态加载项。 另外,用户可能需要知道如何获取中的值,所以需要补充JavaScript部分的代码,比如使用$('#select').val()来获取中的值,或者监听change事件。 还要注意是否需要额外的样式类,比如show-tick来显示勾图标,这在情况下是否适用?根据引用[1],show-tick用于单框显示图标,但可能默认就有中样式,可能需要测试确认。 最后,检查示例代码是否正确,确保LaTeX格式的应用,但这里可能用不上数学公式,不过要遵循用户的其他格式要求,如代码块使用正确语法,引用标识放在适当的位置。</think>### bootstrap-select与模糊搜索实现步骤 #### 1. 基础HTML结构 ```html <select id="foodSelect" class="selectpicker" multiple data-live-search="true" data-actions-box="true" > <option>汉堡</option> <option>披萨</option> <option>寿司</option> <option>牛排</option> </select> ``` 关键属性说明: - `multiple`:启用模式[^3] - `data-live-search="true"`:开启实时搜索功能[^3] - `data-actions-box="true"`:显示全/取消按钮 #### 2. 必要依赖引入 ```html <!-- Bootstrap核心CSS --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"> <!-- bootstrap-select CSS --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.14.0-beta3/dist/css/bootstrap-select.min.css"> <!-- jQuery --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <!-- bootstrap-select JS --> <script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.14.0-beta3/dist/js/bootstrap-select.min.js"></script> ``` #### 3. 动态初始化(可) ```javascript // 动态加载项示例 var dynamicOptions = [ { value: 1, text: '北京烤鸭' }, { value: 2, text: '四川火锅' } ]; dynamicOptions.forEach(function(item) { $('#foodSelect').append( $('<option></option>').val(item.value).text(item.text) ); }); // 刷新下拉框 $('#foodSelect').selectpicker('refresh'); ``` #### 4. 获取中值 ```javascript // 获取中项的值 var selected = $('#foodSelect').val(); console.log(selected); // 监听择变化 $('#foodSelect').on('changed.bs.select', function (e) { console.log($(this).val()); }); ``` #### 5. 完整示例截图 ![bootstrap-select搜索示例](https://via.placeholder.com/600x400.png/007bff/fff?text=Multi-Select+Demo)[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值