使用jquery过滤逗号分隔的范围文本

时间:2012-08-29 10:53:27

标签: javascript jquery jquery-filter

我正在使用jQuery .filter()函数来检查复选框列表中是否选择了特定值:

$("#Control").find("input[type=checkbox]:checked")
             .next("label")
             .filter(function () {
                return $.trim($(this).text()) == "Option 1"; 
             })
             .length != 0';

如果我在一个范围内有逗号分隔的值列表并且我想检查是否存在特定值,我该如何实现此目的?

离。 Home Phone, Email Address, Mobile Phone可能是范围文本

2 个答案:

答案 0 :(得分:2)

为什么不呢?使用Regex,但我认为还有其他更简单的解决方案。

$("#Control").find("input[type=checkbox]:checked")
             .next("label")
             .filter(function () {
                 var regex = /,? *Email Address *,?/;
                 return regex.test($(this).text()); 
             }).length != 0;

与@Richard Dalton相同的例子http://jsfiddle.net/nFjCn/1/ 您必须确保在正则表达式中的文本后面有空格。

答案 1 :(得分:0)

,上拆分范围的文本,然后检查您的字符串是否在结果数组中:

$("span").filter(function () {
            return $(this).text().split(/,\s*/).indexOf("Email Address") > -1; 
         });

示例 - http://jsfiddle.net/nFjCn/3/