未选中以逗号分隔的复选框值

时间:2015-01-14 10:26:39

标签: javascript jquery html

如果我有一个单词值的复选框,如

<div id="search">
 <input type="checkbox" value="Houston" >
</div>

我可以使用以下JQuery

进行选择
$('#search').find("input:checkbox[value=Houston]")
            .attr("checked", true);

但是,如果我的值以逗号分隔,如value="Texas, Houston",则我无法选中复选框,但会出现如下错误:

Syntax error, unrecognized expression: input:checkbox[value=Houston, Texas]

如何解决此错误?

1 个答案:

答案 0 :(得分:2)

由于,是元字符,您需要在Texas, Houston

等引号中传递value='Texas, Houston'

使用

$('#search').find("input:checkbox[value='Texas, Houston']")
        .prop("checked", true);

此外,如果您使用的是jQuery 1.6+,则应使用.prop()代替.attr()

其他方式

阅读Docs

  

使用任何元字符(例如!“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为文字作为名称的一部分,必须使用两个反斜杠进行转义:\\。

您也可以使用

$('#search').find("input:checkbox[value=Houston\\,Texas]")