0

我有一个 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.

是否有任何操作员功能可以控制它?谢谢你。

4

3 回答 3

2
$('#LinkButton1').click(function () {
    var error = false;
    $.each($('.tocheck'), function (i, v) {
        if (!error) {
            error =  check($(v).val(), $(this));
        }
    });
    return error;
});

你也可以false在函数中返回来打破 each。文档中的更多信息:http: //api.jquery.com/jQuery.each/

于 2012-11-22T12:51:08.657 回答
1

您可以filter()改用:

$("#LinkButton1").click(function() {
    return $(".tocheck").filter(function() {
        return check(this.value, this);
    }).length;
});
于 2012-11-22T12:53:02.947 回答
0
$('#LinkButton1').click(function () {
    var error = false;
    $.each($('.tocheck'), function (i, v) {
        error =  check($(v).val(), $(this));
        if(error)
            return error;
    });
    return error;
});
于 2012-11-22T12:53:16.590 回答