radio的值无法赋值给一个变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了radio的值无法赋值给一个变量相关的知识,希望对你有一定的参考价值。

你使用了return方法,所以你的循环其实只能判断到第一个radio。所以你应该一直得到的值是null你要改成
for(i=0;i<obj.length;++i)
if(obj[i].checked)
return obj[i].value;

return null;追问

是不是如果我第一次循环没有换取到值,返回null后,循环就停止了!

参考技术A 1L正解,一遇到return这个方法就结束了, 感觉你括号写得太不标准了,差点误解了!追问

哪里不标准了!说的是1L的吧?

追答

是你每个相对应的大括号的左边距应该是同样的.

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弄错了。

以上是关于radio的值无法赋值给一个变量的主要内容,如果未能解决你的问题,请参考以下文章

指针定义NULL后无法赋值?

freemarker 取得文本框内容赋值给一个变量, 怎么实现?

Mysql将存储过程执行后的值赋值给变量

在c语言里怎么把第一个变量的值赋给第二个变量

C ++ - 将变量赋值给另一个变量并将变量赋值给引用变量有什么区别?

如何将MYSQL查询结果赋值给一个变量