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的值无法赋值给一个变量的主要内容,如果未能解决你的问题,请参考以下文章
freemarker 取得文本框内容赋值给一个变量, 怎么实现?