我有一个javascript函数,用于检查文本框值并返回true或false值。
我有几个要检查的文本框:
<asp:textbox id="txt1" class="tocheck" runat="server />
<asp:textbox id="txt2" class="tocheck" runat="server />
<asp:textbox id="txt3" class="tocheck" runat="server />
当我按下提交按钮(Linkbutton1)时,我会检查所有值:
$('#LinkButton1').click(function () {
var error = false;
$.each($('.tocheck'), function (i, v) {
error = check($(v).val(), $(this));
});
return error;
});
如果其中一个调用返回true,则必须将整体验证视为失败,并且必须保留true
值。
所以我想要的是阻止将错误变量设置为false
,之前它已经设置为true
。
是否有操作符或功能可以控制此操作? 谢谢。
答案 0 :(得分:2)
$('#LinkButton1').click(function () {
var error = false;
$.each($('.tocheck'), function (i, v) {
if (!error) {
error = check($(v).val(), $(this));
}
});
return error;
});
您还可以在函数中返回false
以打破每个。文档中的更多信息:http://api.jquery.com/jQuery.each/
答案 1 :(得分:1)
您可以改为使用filter()
:
$("#LinkButton1").click(function() {
return $(".tocheck").filter(function() {
return check(this.value, this);
}).length;
});
答案 2 :(得分:0)
$('#LinkButton1').click(function () {
var error = false;
$.each($('.tocheck'), function (i, v) {
error = check($(v).val(), $(this));
if(error)
return error;
});
return error;
});