有没有办法在name =参数中使用变量。Jquery [name = var]换人
我希望能够做到:
var a = 1;
$("#gen_p").html($("input:radio[name='gen'+a]:checked").val()));
我能够做到$("#gen_p"+a)
而不是在[name=??]
我错过了什么?
感谢
有没有办法在name =参数中使用变量。Jquery [name = var]换人
我希望能够做到:
var a = 1;
$("#gen_p").html($("input:radio[name='gen'+a]:checked").val()));
我能够做到$("#gen_p"+a)
而不是在[name=??]
我错过了什么?
感谢
$("#gen_p").html($("input:radio[name='gen"+a+"']:checked").val());
你在那里混一些单引号。
编辑:你也有一些额外的)
在那里。
是的,你可以这样做,但是你把单引号放在双引号内,所以它的字面意思是“gen”+ a“,而不是”gen“+ a。
试试这个:
$("#gen_p").html($("input:radio[name=gen" + a + "]:checked").val()));
你缺少双引号以及+运营商有:
var a = 1;
$("#gen_p").html($("input:radio[name='gen'" + a + "]:checked").val()));
在JavaScript中,变量不应该单/双引号内,而他们应该是放在他们的外面,并与+
运营商分开(这也是在JavaScript中的concatenation operator)。
当引号变得杂乱时,我更喜欢使用字符串替换。
var selector = "input:radio[name='gen{a}']:checked".replace("{a}", a);
$("#gen_p").html($(selector).val());
负责人到OP:这是第一个。 – 2010-06-09 00:31:55
@Samir - 你为什么在意?如果他没有花时间编辑OP的问题,也许Sarfraz会是第一位的。 – user113716 2010-06-09 00:36:11
我在他的代码中看不到额外的')'。 – Sarfraz 2010-06-09 01:02:53