在单选按钮jQuery中传递数组值

时间:2014-03-25 08:03:44

标签: javascript jquery

我有一个jQuery函数来美化单选按钮,除非在一种情况下,当按钮的name属性包含一个括号内的数组值时,效果很好。

这适用于通过单选按钮提供可选选项的购物车系统,因此按钮如下所示:

<input type="radio" name="option[218]" value="5">
<input type="radio" name="option[218]" value="6">
<input type="radio" name="option[218]" value="7">
...

抛出错误的jQuery脚本部分如下所示:

$('input:radio[name=' + radio.attr('name') + ']')
  .not(':disabled')
  ...

错误:

未捕获错误:语法错误,无法识别的表达式:input:radio [name = option [218]]

显然,它并不期望在名称值中找到方括号[ ]

如何将其切换为允许找到这些而不是错误?

2 个答案:

答案 0 :(得分:2)

您需要将值包装在双引号" "

$('input:radio[name="' + radio.attr('name') + '"]')
// ---------------- ^      here and here       ^

因此,您的值将被正确转义并输出为:

input:radio[name="option[218]"]

答案 1 :(得分:1)

您可以将值括在""中以转义特殊字符

$('input:radio[name="' + radio.attr('name') + '"]')