智能补全模糊查询select2的下拉选择框使用

142 篇文章 2 订阅
47 篇文章 1 订阅


我们在上篇文章中已经在SpringMVC基础框架的基础上应用了BootStrap的后台框架,在此基础上记录select2的使用。

应用bootstrap模板


基础项目源码下载地址为:

SpringMVC+Shiro+MongoDB+BootStrap基础框架




我们在基础项目中已经做好了首页index的访问。

现在就在index.jsp页面上做修改,实现select2的下拉选择框。


select2实现

首先我们来实现select的下拉选择框

index.jsp的代码如下:

<%@ include file="./include/header.jsp"%>


        <div id="page-wrapper">
            <div id="page-inner">


                <div class="row">
                    <div class="col-md-12">
                        <h1 class="page-header">
                            Select2 <small>下拉框</small>
                        </h1>
                    </div>
                </div>
                <!-- /. ROW  -->

     <form class="form-horizontal" id="navigation">
                 <div class="form-group">
                        <label for="sourceId" class="col-sm-2 control-label">选择框:</label>
                    <div class="col-sm-8 input-group">
                        <select class="form-control" id="type" name="type">
                            <option value="" data-name="">- 篮球 -</option>
                            <option value="" data-name="">- 足球 -</option>
                            <option value="" data-name="">- 游泳 -</option>
                        </select>
                    </div>
                </div>
             
           </form>  
                <!-- /. ROW  -->
            </div>
            <!-- /. PAGE INNER  -->
        </div>
        <!-- /. PAGE WRAPPER  -->

    
        
 <%@ include file="./include/footer.jsp"%>


</body>

</html>


效果如图:




原生的select对少量的选项来说是足够使用的。但是当我们的选项有很多时,比如几十个选项。则需要使用select2。

select2实现了智能补全,模糊查询。也就是我们在select2中输入某个字就能找到相应的选项。


首先

需要把select2插件的代码放入项目中。




插件下载:

select2插件资源




select2需要加载css和js资源:

<link rel="stylesheet" href="/plugins/select2/dist/css/select2-site.css"
      type="text/css"></link>


<script src="/plugins/select2/dist/js/select2.min.js"></script>


然后在js中把select初始化成select2,type是select的id:

<script type="text/javascript">
    $(document).ready(function () {
      $('#type').select2();

    });

</script>



这样下拉框就支持智能补全和模糊查询了。



修改后的index.jsp代码如下:

<%@ include file="./include/header.jsp"%>


<link rel="stylesheet" href="/plugins/select2/dist/css/select2-site.css"
      type="text/css"></link>

        <div id="page-wrapper">
            <div id="page-inner">


                <div class="row">
                    <div class="col-md-12">
                        <h1 class="page-header">
                            Select2 <small>下拉框</small>
                        </h1>
                    </div>
                </div>
                <!-- /. ROW  -->

     <form class="form-horizontal" id="navigation">
                 <div class="form-group">
                        <label for="sourceId" class="col-sm-2 control-label">选择框:</label>
                    <div class="col-sm-8 input-group">
                        <select class="form-control" id="type" name="type">
                            <option value="" data-name="">- 篮球 -</option>
                            <option value="" data-name="">- 足球 -</option>
                            <option value="" data-name="">- 游泳 -</option>
                        </select>
                    </div>
                </div>
             
           </form>  
                <!-- /. ROW  -->
            </div>
            <!-- /. PAGE INNER  -->
        </div>
        <!-- /. PAGE WRAPPER  -->

    

        
        


 <%@ include file="./include/footer.jsp"%>
<script src="/plugins/select2/dist/js/select2.min.js"></script>

<script type="text/javascript">
    $(document).ready(function () {
      $('#type').select2();

    });

</script>


</body>

</html>



效果如图:






提交select选择的值

如果select在form表单中,则点击按钮提交表达时,会自动获取到select选择的值,字段名称是select的name。

如果在js中获取select选择的值,使用代码:

JS原生获取
var obj = document.getElementByIdx_x(”testSelect”); //定位id


var index = obj.selectedIndex; // 选中索引


var text = obj.options[index].text; // 选中文本


var value = obj.options[index].value; // 选中值



jQuery中获得选中select值
第一种方式
$('#testSelect option:selected').text();//选中的文本

$('#testSelect option:selected') .val();//选中的值

$("#testSelect").get(0).selectedIndex;//索引


 


第二种方式
$("#tesetSelect").find("option:selected").text();//选中的文本
$("#tesetSelect").find("option:selected").val();
$("#tesetSelect").find("option:selected").get(0).selectedIndex;







评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小凡vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值