JQUERY选中问题

Posted 雍家培

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQUERY选中问题相关的知识,希望对你有一定的参考价值。

单选,复选,下拉列表的全选选中问题
基本思路就是找到元素,操作元素,关于怎么找看jquery简介,主要学习记住具体操作用到的方法
 
复选框的全选以及设置选中问题
 
jquery中提供prop方法,判断是否选中,返货boolean类型
全选的思路就是找到元素,设置选中。
设置选中思路,判断输入值与元素中的值是否相等,相等设置选中。
例子:
<div>全选:<input type="checkbox" id="qx" /></div>
<div>
潘庄<input type="checkbox" class="ck" value="潘庄" />
火炬公园<input type="checkbox" class="ck" value="火炬公园" />
中关村<input type="checkbox" class="ck" value="中关村" />
人民公园<input type="checkbox" class="ck" value="人民公园" />
王府井<input type="checkbox" class="ck" value="王府井" />
</div>
<br />
<div><input type="button" value="取选中项的值" id="btn" /></div>
<br />
<div>
请输入区域:<input type="text" id="qy" />
<input type="button" value="设置选中" id="szxz" />
 
<script type="text/javascript">
$(document).ready(function(e) {
 
    $("#qx").click(function(){
        //找到全选按钮的选中状态
        var xz = $(this).prop("checked");
        //将复选框列表里面的所有复选框的选中状态变为全选的选中状态
        $(".ck").prop("checked",xz);
        })
 
    $("#btn").click(function(){
        var ck = $(".ck");
        for(var i=0;i<ck.length;i++)        {
            //ck[i].checked
            if(ck.eq(i).prop("checked"))            {
                alert(ck.eq(i).val());
            }
        }
        })
 
    $("#szxz").click(function(){
        //获取用户输入的值
        var qy = $("#qy").val();
        //设置选中
        var ck = $(".ck");
        ck.prop("checked",false);
        for(var i=0;i<ck.length;i++)        {
            if(ck.eq(i).val()==qy)            {
                ck.eq(i).prop("checked",true);
            }
        }
        })    
});
</script>
 
单选的选中以及设置选中问题:
设置选中,先匹配输入,在设置选中,$(".a").eq(1).val)():通过eq 获取jquery对象,下标获取dom对象
例子:
<div>
潘庄<input type="radio" name="qy" class="ck" value="潘庄" />
火炬公园<input type="radio" name="qy" class="ck" value="火炬公园" />
中关村<input type="radio" name="qy" class="ck" value="中关村" />
人民公园<input type="radio" name="qy" class="ck" value="人民公园" />
王府井<input type="radio" name="qy" class="ck" value="王府井" />
</div>
<br />
<div><input type="button" value="取选中值" id="btn" /></div>
 
<script type="text/javascript">
$(document).ready(function(e) {
    $("#btn").click(function(){
        var ck = $(".ck");
        for(var i=0; i<ck.length;i++)        {
            if(ck.eq(i).prop("checked"))            {
                alert(ck.eq(i).val());
            }
        }
        })
});
</script>
 
 
下拉列表的取值与设置选中:
 思路还是找到元素,获取值,匹配值。
注意:下拉列表除了选择器获取元素,也可以元素名取值
例子:
<select id="qy">
    <option value="1">所有</option>
    <option value="潘庄">潘庄</option>
    <option value="火炬公园">火炬公园</option>
    <option value="中关村">中关村</option>
    <option value="人民公园">人民公园</option>
    <option value="王府井">王府井</option>
</select>
<input type="button" value="取选中值" id="btn" />
<br />
<br />
<div>请输入值:
<input type="text" id="zhi" />
<input type="button" value="设置选中" id="szxz" />
</div>
 
<script type="text/javascript">
$(document).ready(function(e) {
    $("#btn").click(function(){
        alert($("#qy").val());
    })
 
    $("#szxz").click(function(){
        var zhi = $("#zhi").val();
        var op = $("option");
        for(var i=0; i<op.length;i++)        {
            //op.eq(i).prop("selected");
            if(op.eq(i).val() == zhi)            {
                op.eq(i).prop("selected",true);
            }
        }
        $("#qy").val(zhi);
    })
});
</script>
 
查询的时候空字符串的问题,通过trim()方法去掉前后空格
例子:
<div>请输入关键字:<input type="text" id="key" /></div><br />
<input type="button" value="查询" id="btn" />
<script>
$(document).ready(function(e) {
 
    //空格 != 空字符串 != NULL
 
    $("#btn").click(function(){
 
        var zhi = $("#key").val();
 
        if(zhi.trim() == "")
        {
            alert("查所有");
        }
        else
        {
            alert("根据条件查");
        }
 
        })
</script>
 
自己写div实现下拉列表的隐藏,选中显式值
思路;找到元素加单击事件,判断是否隐藏,设置隐藏属性
            获取选中元素的值(可以通过$(this)取当前元素的值)显示
例子:
<div id="xiala">
    <div id="sel">所有</div>
    <div id="list">
        <div class="node">所有</div>
        <div class="node">潘庄</div>
        <div class="node">中关村</div>
        <div class="node">火炬公园</div>
        <div class="node">人民公园</div>
    </div>
</div>
<script type="text/javascript">
    //下拉列表
    $("#sel").click(function(){
        if($("#list").css("display")=="none")        {
            $("#list").css("display","block");
        }else {
            $("#list").css("display","none");
        }
 
        })
    $(".node").click(function(){
        var zhi = $(this).text();
        $("#sel").text(zhi);
        $("#list").css("display","none");
        })
});
</script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

以上是关于JQUERY选中问题的主要内容,如果未能解决你的问题,请参考以下文章

html,javaScript中怎么控制复选框checkbox的全选,全不选,以及全选中,全选按钮选中,其中一个或者多个没选,则全选按钮不被选中

JQuery对checkbox的操作

利用jQuery实现复选框的全选和反选

jquery 怎么给复选框选中

jquery实现全选和反选功能

jQuery学习——使用JQ完成复选框的全选和全不选