jquery获取radio值求教

Posted

tags:

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

在一个页面下有多个text以及radio供用户填写以及选择,用户选择并点击提交后通过ajax传输,小弟我是通过$(':input').each()遍历这个页面下的所有input,然后将数据序列化成json格式传输,求教高手如何剔除这中间的没有被选中的radio值?

很多种方式可以得到。
1、
$(':input:radio')取到所有的radio,然后each遍历,通过$(this).is(':checked')判断是否选中。
2、
$(':input:radio:checked')可以取到所有的选中的radio,然后遍历取值。
3、其实这种方法最简单,需要将的所有输入组件放到<form id="myform">表单中
var str = $('#myform').formSerialize();就会直接将表单中的信息变为xxx=value1&yyy=values&....这种形式了。
注意在新版本的JQuery库中formSerialize函数被改成了统一的serialize函数了。注意你的JQuery版本。追问

那我应该把text和radio分开取值然后再合并吗?我是用:input直接取得所有文本框,然后在循环里判断当前指针下的input是不是radio类型的,且有没有checked,不过经过反复尝试都没弄明白...

追答

你可以把你要收集数据的input和radio都放到一个中,直接一次就直接变成你要的字符串了。但是你需要为你的input和radio组件加name属性。它生成的字符串就是所有form中的组件的name=用户操作的值

追问

用serialize序列换的数据能转换成json格式吗?

追答

你服务器一侧要Ajax格式?你服务器端用啥技术啊?提交字符串格式服务器端取值方便啊!~服务器返回数据给客户端用Json方便。

追问

采用人家的程序做扩展,对方要求是统一用json格式的交互,我也没法子,这问题困扰我一晚上了

追答

那你就用
$('#myform').ajaxForm(
 url:'提交的url地址例如aaa.do',
type:'post',
dataType:'json',
success:function(data)
//回调函数

);
这个函数可以将表单中的数据自动以JSON格式提交给服务器端。也很方便的。关键不理解服务器端用JSON真的不如字符串方便。

追问

我现在主要的问题就是radio的取值问题,直接:input全取就无法剔除没被选中的radio,我先试着把text和radio分开,再合并看看..

追答

你服务器端要什么格式的
xxx:value,xxx:value,xxx:value.....,如果是这个格式,ajaxForm就可以。
把格式说一下。

追问

array:id:1,name:2,money:3 这样的形式,格式什么的都没问题,就卡在radio无法正确取值了

追答

那你就用$(':input:radio:checked')取到后拼串吧。

参考技术A $("input[selected='selected']").each()
jQuery选择器中:id选择器用"#"、class选择器用"."、标签选择器直接用标签名称;要选择指定属性值的标签就使用"input[selected='selected']"这样的选择器。追问

我只做到了遍历所有的input,并将其值保存到一个类数组里,自己也试着去获取被选中的radio的值,可惜怎么搞也是全部获取了,所以只能回到了起初的样子,代码片段如下
$(':input').each(function(i, v)
var n = $(v).attr('name');
if(n == 'save') return false;;
data[n] = $(v).val();
);

追答

同意下面同学给出的答案!很全面,我把radio选中的参数checked弄错了。

jquery怎么获取radio的值

实例1:

获取一组单选按钮对象:var obj_payPlatform = $('#wrap input[name="payMethod"]');

获取被选中按钮的值 :var val_payPlatform = $('#wrap input[name="payMethod"]:checked ').val();

实例2:

使用jquery获取radio的值,最重要的是掌握jquery选择器的使用,在一个表单中我们通常是要获取被选中的那个radio项的值,所以要加checked来筛选,比如有以下的一些radio项:

获取某个radio的值的代码如下:

遍历name为testradio的所有radio代码如下:

取具体某个radio的值,比如第二个radio的值,代码如下:

参考技术A

1.获取选中值,三种方法都可以:

$('input:radio:checked').val();

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

$("input[name='rd']:checked").val();

2.设置第一个Radio为选中值:

    $('input:radio:first').attr('checked', 'checked');

或者

$('input:radio:first').attr('checked', 'true');

注:attr("checked",'checked')= attr("checked", 'true')= attr("checked", true)

3.设置最后一个Radio为选中值:

$('input:radio:last').attr('checked', 'checked');

或者

$('input:radio:last').attr('checked', 'true');

4.根据索引值设置任意一个radio为选中值:

$('input:radio').eq(索引值).attr('checked', 'true');索引值=0,1,2....

或者

$('input:radio').slice(1,2).attr('checked', 'true');

5.根据Value值设置Radio为选中值

$("input:radio[value=http://www.2cto.com/kf/201110/'rd2']").attr('checked','true');

或者

$("input[value=http://www.2cto.com/kf/201110/'rd2']").attr('checked','true');

参考技术B 使用jquery获取radio的值,最重要的是掌握jquery选择器的使用,在一个表单中我们通常是要获取被选中的那个radio项的值,所以要加checked来筛选,比如有以下的一些radio项:

1.<input type="radio" name="testradio" value="jquery获取radio的值" />jquery获取radio的值
2.<input type="radio" name="testradio" value="jquery获取checkbox的值" />jquery获取checkbox的值
3.<input type="radio" name="testradio" value="jquery获取select的值" />jquery获取select的值

1.$('input[name="testradio"]:checked').val();2、
1.$('input:radio:checked').val();3、
1.$('input[@name="testradio"][checked]');4、
1.$('input[name="testradio"]').filter(':checked');差不多挺全的了,如果我们要遍历name为testradio的所有radio呢,代码如下

1.$('input[name="testradio"]').each(function()2.alert(this.value);3.);如果要取具体某个radio的值,比如第二个radio的值,这样写
1.$('input[name="testradio"]:eq(1)').val()
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
参考技术C 使用jquery获取radio的值,最重要的是掌握jquery选择器的使用,在一个表单中我们通常是要获取被选中的那个radio项的值,所以要加checked来筛选,比如有以下的一些radio项:

1.<input type="radio" name="testradio" value="jquery获取radio的值" />jquery获取radio的值
2.<input type="radio" name="testradio" value="jquery获取checkbox的值" />jquery获取checkbox的值
3.<input type="radio" name="testradio" value="jquery获取select的值" />jquery获取select的值
要想获取某个radio的值有以下的几种方法,直接给出代码:
1、

1.$('input[name="testradio"]:checked').val();2、
1.$('input:radio:checked').val();3、
1.$('input[@name="testradio"][checked]');4、
1.$('input[name="testradio"]').filter(':checked');差不多挺全的了,如果我们要遍历name为testradio的所有radio呢,代码如下

1.$('input[name="testradio"]').each(function()2.alert(this.value);3.);如果要取具体某个radio的值,比如第二个radio的值,这样写
1.$('input[name="testradio"]:eq(1)').val()本回答被提问者采纳
参考技术D 给radio标签一个id属性 id="rdo1"
$("#rdo1").val();
这样就取到了

以上是关于jquery获取radio值求教的主要内容,如果未能解决你的问题,请参考以下文章

jquery radio选中值的保存问题

如何使用Jquery获取Form表单中被选中的radio值

JQuery 之 获取 radio选中值,select选中值

JQuery判断radio(单选框)是否选中和获取选中值方法总结

jquery获取值

jQuery如何获取选中单选按钮radio的值