firefox中未捕获的异常

时间:2013-11-01 18:56:31

标签: c# javascript jquery

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

[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/的验证器我尝试过的每个组合都失败了。如果您需要更多信息,请与我们联系。

3 个答案:

答案 0 :(得分:4)

您错过了结束]

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

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

var cards = $('#<%=cblCreditCards.ClientID%>, #<%=cblAtmDebitCards.ClientID%>');

答案 1 :(得分:2)

必须引用jQuery选择器中的属性值 在你的身份证上加上引号。

你也错过了]

答案 2 :(得分:0)

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