有没有办法在name =参数中使用变量。
我希望能够做到:
var a = 1;
$("#gen_p").html($("input:radio[name='gen'+a]:checked").val()));
我可以$("#gen_p"+a)
但不能[name=??]
我错过了什么吗?
由于
答案 0 :(得分:10)
$("#gen_p").html($("input:radio[name='gen"+a+"']:checked").val());
你在那里混合了一些单引号。
编辑:你在那里还有一些额外的)
。
答案 1 :(得分:3)
是的,你可以这样做,但你在双引号中加上单引号,所以它的字面意思是“'gen'+ a”,而不是“gen”+ a。
试试这个:
$("#gen_p").html($("input:radio[name=gen" + a + "]:checked").val()));
答案 2 :(得分:3)
你缺少双引号和+运算符:
var a = 1;
$("#gen_p").html($("input:radio[name='gen'" + a + "]:checked").val()));
在javascript中,变量不应该放在单引号/双引号内,而应该放在它们之外并用+
运算符(也是 concatenation operator 分隔的JavaScript)。
答案 3 :(得分:1)
当引号变得混乱时,我更喜欢使用字符串替换。
var selector = "input:radio[name='gen{a}']:checked".replace("{a}", a);
$("#gen_p").html($(selector).val());