永发信息网

每个radio的name都是不相同的,怎么用js或者jquery获取选中的每个radio值,然后拼成id串传到前台。

答案:4  悬赏:20  手机版
解决时间 2021-11-09 00:47
  • 提问者网友:情歌越听越心酸
  • 2021-11-08 19:17
每个radio的name都是不相同的,怎么用js或者jquery获取选中的每个radio值,然后拼成id串传到前台。
最佳答案
  • 五星知识达人网友:像个废品
  • 2021-11-08 20:27
整体思路:首先利用JQ分别获取不同name值的radio的选中的值,然后将获取到的值都统一赋给前台某个标签即可。
①:在html文件中,创建radio控件及文本标签;如










注意,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); //拼接两个选中的值,以逗号隔开
});
全部回答
  • 1楼网友:忘川信使
  • 2021-11-08 21:49
$('input[type="radio"]') 可以获得所有的radio
$('input[type="radio"]').each(function(i,obj){// 遍历所有的radio i是顺序 obj是本身
if($(obj)[0].checked){ // 判断此radio是不是选中状态 如果是 执行

}
})
  • 2楼网友:毛毛
  • 2021-11-08 21:22
  1. 获取所有选中的radio    

    var $radios = $('input[type=radio]:check');

  2. 循环$radios得到每个选中radio的值,拼接成字符串。

    var str;

    for(var i =0; i < $radios.length; i++){

            str += $($radios[i]).val();

        }

    3.上一步得到的str即为所要的结果。

  • 3楼网友:怙棘
  • 2021-11-08 20:54

设置一个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表达式的相关资料,可以提高代码优雅度。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯