每个radio的name都是不相同的,怎么用js或者jquery获取选中的每个radio值,然后拼成id串传到前台。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每个radio的name都是不相同的,怎么用js或者jquery获取选中的每个radio值,然后拼成id串传到前台。相关的知识,希望对你有一定的参考价值。
整体思路:首先利用JQ分别获取不同name值的radio的选中的值,然后将获取到的值都统一赋给前台某个标签即可。①:在html文件中,创建radio控件及文本标签;如
<input type="radio" name="radio1" value="1" />
<input type="radio" name="radio1" value="2" />
<br/>
<input type="radio" name="radio2" value="a" />
<input type="radio" name="radio2" value="b" />
<br/>
<input type="text" id="textBox" />
<input type="button" value="确定" class="btn" />
注意,name值一样才能实现radio单选;
②:在javascript代码中,获取radio选中的值;
var radioVal01 = $("input[name='radio1']:checked").val();
var radioVal02 = $("input[name='radio2']:checked").val();
③:将获取到的值赋给text文本标签
$(".btn").click(function()
var radioVal01 = $("input[name='radio1']:checked").val();
var radioVal02 = $("input[name='radio2']:checked").val();
$("#textBox").val(radioVal01 + "," + radioVal02); //拼接两个选中的值,以逗号隔开
); 参考技术A
获取所有选中的radio
var $radios = $('input[type=radio]:check');
循环$radios得到每个选中radio的值,拼接成字符串。
var str;
for(var i =0; i < $radios.length; i++)
str += $($radios[i]).val();
3.上一步得到的str即为所要的结果。
设置一个class试试,然后用jquery应该能获取到。
obj.each(function(i, n)
// 业务逻辑
);
你可以试试,我没有测试过,不过应该可以拿到
function(i,n)这个里面的i和n分别是什么?
追答i:表示索引,index的简写。
n:表示当前对象,换句话就是,n表示radio元素。
你可以通过n获取到radio的属性。
注意这个n是html对象,而不是jquery对象。
你可以通过n.value或者$(n).val()获取到radio的值。
循环的值是可以得到,他是每个对象都循环一次,我在这里面怎么实现拼接呢?
追答var obj = $(".radio:checked").val();这句话就是获取所有选中的radio元素。
因为我不知道你的id需要变成什么格式的,不过方法都差不多。
在循环里面可以将value的值放到一个数组里面(推荐),或者直接拼接一个字符串。
然后再做一些你自己的处理。
对了,刚刚看了一下你的代码,jsp里面用<%=%>这种方式的现在比较少了,你可以看看EL表达式的相关资料,可以提高代码优雅度。
参考技术C $('input[type="radio"]') 可以获得所有的radio$('input[type="radio"]').each(function(i,obj)// 遍历所有的radio i是顺序 obj是本身
if($(obj)[0].checked) // 判断此radio是不是选中状态 如果是 执行
)
以上是关于每个radio的name都是不相同的,怎么用js或者jquery获取选中的每个radio值,然后拼成id串传到前台。的主要内容,如果未能解决你的问题,请参考以下文章
用js 在table里循环添加一行,每行里有一组radio,怎样实现每组radio都能单选
一个radio在一行表格中。如何用JQuery,JS选择了radio后,获取那一行的属性。并在页面删除那一行
JS取radio的value有时候用document.getElementById也能取到,为啥?