每个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即为所要的结果。

参考技术B

设置一个class试试,然后用jquery应该能获取到。

var obj = $(".radio:checked").val();
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的值

JS取radio的value有时候用document.getElementById也能取到,为啥?

HTML:表单中例如checkbox中为啥其中的name都是一样的?

radiobutton独特属性