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