-1

我正在使用 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可能是跨度文本

4

2 回答 2

2

为什么不是这个?使用正则表达式,但我认为还有其他更简单的解决方案。

$("#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/ 您必须确保在正则表达式中的文本后面有一个空格。

于 2012-08-29T11:00:55.277 回答
0

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

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

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

于 2012-08-29T10:59:51.047 回答