jquery计数器停止每个功能

时间:2013-07-10 14:55:01

标签: jquery each

我制作一个脚本来检查是否有空字段,如果是,则将它们设置为红色并禁用提交按钮。在使用计数器确定是否找到任何空字段时,这会停止每个函数。

    function submitDisable(){
    $('.shipdiv input').each(function(){
    if( $(this).val() == ''){
    $(this).css("background-color","#ff0000");
    $(this).closest('.shipdiv').find('#button-submit').attr('disabled', 'disabled');
    counter++;
}
});
    if(counter == "0"){
    $(this).css("background-color","");
    $(this).closest('.shipdiv').find('#button-submit').removeAttr('disabled');
    }
   }

jQuery(document).ready(submitDisable);

注释掉counter++;,所有空字段的颜色都是红色的,留下它并停止每个循环,只有第一个字段为红色。那是为什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可能没有创建变量'counter'吗?在您的职能面前添加var counter = 0;:)

答案 1 :(得分:0)

counter是全球性的吗?如果是这样,最初应设置为0

第二次观察:您的比较应该是counter === 0而不是counter == "0"

另外,submitDisable()只运行一次(在文档就绪事件上)。也许你希望它在编辑一个字段时运行。在这种情况下,counter应该是submitDisable()的本地。