jqurey操作radio总结

     在我们前端的项目中,会经常用到radio单选按钮,下面给出个例子总结jquery对radio的各种操作:

示例如下:

<html>
<head>
    <meta charset="UTF-8">
    <title>radio </title>
    <script type="text/javascript" src="jquery-1.10.2.js"></script>  
</head>
<body>
    <form>
        <input type="radio" name="city" checked="checked" value="BeiJing">北京
        <input type="radio" name="city" value="TianJin">天津
        <input type="radio" name="city" value="NanJing">南京
        <input type="radio" name="city" value="YangZhou">扬州
        <input type="radio" name="city" value="SuZhou">苏州
    </form>
</body>
<html>


1、获取选中的radio的值:

$("input:radio[name='city']:checked").val();
或者
("input[type=radio][name='city']:checked").val();

  使用元素选择器,再使用属性过滤器name='city',最后使用:checked选取被选中的元素。

2、给指定值的radio设置选中状态:

$("input:radio[name='city'][value='YangZhou']").attr("checked",true);
或者
$("input[type=radio][name='city'][value='YangZhou']").attr("checked",true);

 注:很多时候我们更加value的值来选中对应的radio按钮,上面都是直接写死在代码里面,但是很多的时候,我们value是后台传过来的值,会存在一个变量里面,这个变量每次存的值不会一样。

例如:这个变量就叫做:  Cityvalue

cityvalue是js用ajax从服务器请求过来的,比如cityvalue="TianJin";

如果我们直接把cityvalue写到里面是有错误的:

例如;

$("input[type=radio][name='city'][value=cityvalue]").attr("checked",true);

这样是错误的,我们可以在console上打印出这串字符串,看一下他的值是如下:

因为cityvalue在""里面,所以这个就是他本来的名字值,而他所代表的字符串并没有进去,所以我们不要把他放在双引号里面,因为cityvalue本来也是一个字符串,所以采用连接的方式+,变为

$("input[type=radio][name='city'][value="+cityvalue+"]").attr("checked",true);

这样是对的,但是我觉得要和上面一样得把:var cityvalue="'TianJin'",就是在里面加上单引号,这样拼成的字符串就和前面的一模一样了:

jqurey操作radio总结

    给name="city"而且value="YangZhou"的radio设置选中状态。

3、取消name="city"的radio的选中状态:

$('input[name="city"]:checked').attr("checked",false);

4、获取name="city"的radio的个数:

$("input[name='city']").length;

5、获取name="city"而且索引是偶数的radio:

$("input[name='city']:even");

  索引是从0开始的。

6、获取name="city"而且索引是奇数的radio:

$("input[name='city']:odd");

  索引是从0开始的。

7、迭代radio:

$("input[name='city']").each(function(i,obj){
    //i,迭代的下标,从0开始
    //obj,当前的对象(HTMLInputElement),可以使用obj.value格式获取属性值
    //$(this);当前jQuery对象,可以使用$(this).val()获取属性值
});

  迭代name="city"的radio。

8、禁用radio:

$("input[name='city']").attr("disabled",true);

  禁用name="city"的radio。

9、启用radio:

$("input[name='city']").attr("disabled",false);

  启用name="city"的radio。


你可能感兴趣的:(jqurey操作radio总结)