1

我在 Firefox 中遇到了一个未捕获的异常。([12:53:36.595] 未捕获的异常:语法错误,无法识别的表达式:输入 [id^=ctl00_ContentBody_cblAtmDebitCards)这是我用 C# 编写的页面的 javascript

[12:53:36.595] uncaught exception: Syntax error, unrecognized expression: input[id^=ctl00_ContentBody_cblAtmDebitCards

这是整个电话

 $.validator.addMethod('CheckOneCreditCard', function () {
            var cards = $('input[id^=<%=cblCreditCards.ClientID%>], input[id^=<%=cblAtmDebitCards.ClientID%>');

            if (cards.length > 0) {
                for (var i = 0; i < cards.length; i++) {
                    if (cards[i].checked) return true;
                }
                return false;
            } else return false;
        });

我正在使用来自http://jqueryvalidation.org/的验证器 我尝试过的每个组合都失败了。如果您需要更多信息,请告诉我。

4

3 回答 3

4

你错过了结束]

var cards = $('input[id^=<%=cblCreditCards.ClientID%>], input[id^=<%=cblAtmDebitCards.ClientID%>]');

此外,由于您使用的是实际控件 ID,因此我会将选择器更改为:

var cards = $('#<%=cblCreditCards.ClientID%>, #<%=cblAtmDebitCards.ClientID%>');
于 2013-11-01T18:59:23.807 回答
2

必须引用 jQuery 选择器中的属性值。
在您的 ID 周围加上引号。

您还缺少一个].

于 2013-11-01T18:58:56.767 回答
0
var cards = $('input[id^=<%=cblCreditCards.ClientID%>], input[id^=<%=cblAtmDebitCards.ClientID%>']);
于 2013-11-01T19:00:06.830 回答