jquery控制radio选中

好久没写jquery了,昨天下午写一个效果,结果倒腾了半天还是没有解决,好在今天早上在网上询问到解决方法了,现在果断记录下。

要实现的效果就是交易方式选择时不同的交易方式下默认选中第一个选项。

如下:

支付宝,借记卡,信用卡 是三个大选项卡。

点击每个选项卡默认选中该选项卡下首个radio控件,所有选项卡下的radio的name都是相同的。

之前写的错误的是radio标签上已经添加了选中属性,但是页面上就是不显示选中。如下:(错误例子)

 1 <html>
 2     <head>
 3         <meta charset="utf-8" />
 4         <title>radio测试</title>
 5         <script src="jquery.min.js"></script>
 6         <style>
 7             ul{list-style-type:none;}
 8             ul li{width:100px;height:20px;border:1px solid silver;float:left;}
 9             div{ clear:both;margin:50px;}
10             .payA{background:silver;}
11             #payB,#payC{display:none;}
12         </style>
13         <script>
14             $(function(){
15
16                 $(‘ul li‘).bind(‘click‘, function(){
17                     $(‘ul li‘).css(‘background‘,‘white‘);
18                     $(this).css(‘background‘,‘silver‘);
19                     var id = $(this).attr(‘class‘);
20                     $("div").css(‘display‘,‘none‘);
21                     $(‘#‘+id).css(‘display‘,‘block‘);
22
23                     $(‘input‘).removeAttr(‘checked‘);
24                     $($(‘#‘+id+‘ input‘).eq(0)).attr(‘checked‘,‘true‘);
25                 });
26
27             })
28         </script>
29     </head>
30     <body>
31         <ul>
32             <li class="payA">支付宝</li>
33             <li class="payB">借记卡</li>
34             <li class="payC">信用卡</li>
35         </ul>
36         <form action="#" method="POST">
37         <div id="payA">
38             <input type="radio" name="payMethod" value="alipay" checked="true" />alipay
39         </div>
40         <div id="payB">
41             <input type="radio" name="payMethod" value="BBC" checked="true" />BBC
42             <input type="radio" name="payMethod" value="ICBC" />ICBC
43             <input type="radio" name="payMethod" value="CBB" />CBB
44             <input type="radio" name="payMethod" value="CBA" />CBA
45             <input type="radio" name="payMethod" value="ABC" />ABC
46         </div>
47         <div id="payC">
48             <input type="radio" name="payMethod" value="BBC2" checked="true" />BBC2
49             <input type="radio" name="payMethod" value="ICBC2" />ICBC2
50             <input type="radio" name="payMethod" value="CBB2" />CBB2
51             <input type="radio" name="payMethod" value="CBA2" />CBA2
52             <input type="radio" name="payMethod" value="ABC2" />ABC2
53         </div>
54         </form>
55     </body>
56 </html>

之后了解到 像 checked 和readonly,disabled,selected等都是有还是没有,和内容没什么关系,像这种是boolean型的使用prop来操作。

正确如下:

 1 <html>
 2     <head>
 3         <meta charset="utf-8" />
 4         <title>radio测试</title>
 5         <script src="jquery.min.js"></script>
 6         <style>
 7             ul{list-style-type:none;}
 8             ul li{width:100px;height:20px;border:1px solid silver;float:left;}
 9             div{ clear:both;margin:50px;}
10             .payA{background:silver;}
11             #payB,#payC{display:none;}
12         </style>
13         <script>
14             $(function(){
15
16                 $(‘ul li‘).bind(‘click‘, function(){
17                     $(‘ul li‘).css(‘background‘,‘white‘);
18                     $(this).css(‘background‘,‘silver‘);
19                     var id = $(this).attr(‘class‘);
20                     $("div").css(‘display‘,‘none‘);
21                     $(‘#‘+id).css(‘display‘,‘block‘);
22
23                     $(‘input‘).removeAttr(‘checked‘);
24                     $($(‘#‘+id+‘ input‘).eq(0)).prop(‘checked‘,true);
25                 });
26
27             })
28         </script>
29     </head>
30     <body>
31         <ul>
32             <li class="payA">支付宝</li>
33             <li class="payB">借记卡</li>
34             <li class="payC">信用卡</li>
35         </ul>
36         <form action="#" method="POST">
37         <div id="payA">
38             <input type="radio" name="payMethod" value="alipay" checked="true" />alipay
39         </div>
40         <div id="payB">
41             <input type="radio" name="payMethod" value="BBC"/>BBC
42             <input type="radio" name="payMethod" value="ICBC" />ICBC
43             <input type="radio" name="payMethod" value="CBB" />CBB
44             <input type="radio" name="payMethod" value="CBA" />CBA
45             <input type="radio" name="payMethod" value="ABC" />ABC
46         </div>
47         <div id="payC">
48             <input type="radio" name="payMethod" value="BBC2"/>BBC2
49             <input type="radio" name="payMethod" value="ICBC2" />ICBC2
50             <input type="radio" name="payMethod" value="CBB2" />CBB2
51             <input type="radio" name="payMethod" value="CBA2" />CBA2
52             <input type="radio" name="payMethod" value="ABC2" />ABC2
53         </div>
54         </form>
55     </body>
56 </html>
时间: 2024-12-14 01:05:57

jquery控制radio选中的相关文章

JQuery控制radio选中和不选中方法总结

一.设置选中方法 代码如下: $("input[name='名字']").get(0).checked=true; $("input[name='名字']").attr('checked','true'); $("input[name='名字']:eq(0)").attr("checked",'checked'); $("input[name='radio_name'][checked]").val();

js控制radio选中

经常会遇到js控制radio选中和切换的问题 之前一直使用的是checked属性来完成的 但是现在发现这个属性有个大问题 今天就是用js给选中radio的赋值,使用的$().attr("checked",true); 当切换的时候,把name相同的radio的attr("checked",false),再把要选中的radio.attr("checked",true): 但是问题来了,每个radio只能被赋值一次,当第二次给他赋值的时候,赋不上值

jQuery获取radio选中后的文字

原文链接:http://blog.csdn.net/zhanyouwen/article/details/51393216 jQuery获取radio选中后的文字转载 2016年05月13日 10:32:14 标签:jQuery获取radio选中后的文字 850 HTML 示例如下: [html] view plain copy<input type="radio" id="male" name="sex" value="1&qu

jquery获取radio选中的值或者select做出判断事件

<dl class="clearfix" id="shifou"> <dt>是否已报名:</dt> <dd><input type="radio" name='sf' value='1'>已报名    <input type="radio" name='sf' value='0'>未报名(有意向)</dd> </dl> <dl

jQuery控制checkbox选中状态但是不显示选中

问题描述:使用jQuery来控制checkbox的选中状态,但是第一次点击出现选中样式,之后点击可以看到checked的属性增加成功但是并没有选 中状态. 问题代码: function chooseAllOrNot(id){ var choose=$("input[name='"+id+"']").attr('checked'); if(choose=='checked'){ $("input[type=checkbox][name='"+id+

jquery判断radio选中与否进而显示或隐藏某个div

定义一个函数来判断这个radio是否被选中,方法是通过jq的选择器得到这个被checked的radio的值,如果没被选中,则为null啦,然后if分支,去显示隐藏某个div. function issetshoplist_theme2() { var value0 = $('input:radio[value=shoplist_theme2]:checked').val(); if(value0 != null) {$('#theme2set').show();} else {$('#theme

纠正jQuery获取radio选中值的写法

先看一段代码 <input type="radio" name="aaa" value="1" checked="true">aaa <input type="radio" name="aaa" value="2">bbb <input type="radio" name="aaa" value=&

jQuery获取radio选中项的值【转藏】

<title></title> <script src="js/jquery-1.7.2.min.js"></script> <script type="text/javascript"> $(function () { //没有默认选中的情况 //先判断radio是否有选中项,再获取选中的值 $("#btnclick").click(function () { //获取选中项的valu

Jquery获取radio选中的值

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> new document </ti