-2

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

    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++;所有空字段都很好地染成红色,把它留在里面,它会停止每个循环,只有第一个字段是红色的。这是为什么?

谢谢!

4

2 回答 2

1

您可能没有创建变量“计数器”?var counter = 0;在你的函数前面添加:)

于 2013-07-10T14:57:51.327 回答
0

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

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

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

于 2013-07-10T15:05:38.167 回答