在咱们前端的项目中,会常常用到radio单选按钮,下面给出个例子总结jquery对radio的各类操做:
javascript
示例以下:html
<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>
一、获取选中的radio的值:
前端
$("input:radio[name='city']:checked").val(); 或者 ("input[type=radio][name='city']:checked").val();
使用元素选择器,再使用属性过滤器name='city',最后使用:checked选取被选中的元素。java
二、给指定值的radio设置选中状态:
jquery
$("input:radio[name='city'][value='YangZhou']").attr("checked",true); 或者 $("input[type=radio][name='city'][value='YangZhou']").attr("checked",true);
注:不少时候咱们更加value的值来选中对应的radio按钮,上面都是直接写死在代码里面,可是不少的时候,咱们value是后台传过来的值,会存在一个变量里面,这个变量每次存的值不会同样。ajax
例如:这个变量就叫作: Cityvalue服务器
cityvalue是js用ajax从服务器请求过来的,好比cityvalue="TianJin";this
若是咱们直接把cityvalue写到里面是有错误的:spa
例如;code
$("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'",就是在里面加上单引号,这样拼成的字符串就和前面的如出一辙了:
给name="city"并且value="YangZhou"的radio设置选中状态。
三、取消name="city"的radio的选中状态:
$('input[name="city"]:checked').attr("checked",false);
四、获取name="city"的radio的个数:
$("input[name='city']").length;
五、获取name="city"并且索引是偶数的radio:
$("input[name='city']:even");
索引是从0开始的。
六、获取name="city"并且索引是奇数的radio:
$("input[name='city']:odd");
索引是从0开始的。
七、迭代radio:
$("input[name='city']").each(function(i,obj){ //i,迭代的下标,从0开始 //obj,当前的对象(HTMLInputElement),可使用obj.value格式获取属性值 //$(this);当前jQuery对象,可使用$(this).val()获取属性值 });
迭代name="city"的radio。
八、禁用radio:
$("input[name='city']").attr("disabled",true);
禁用name="city"的radio。
九、启用radio:
$("input[name='city']").attr("disabled",false);
启用name="city"的radio。