Jquery ELSE语句每运行一次;。每一个;要素

Jquery ELSE语句每运行一次;。每一个;要素,jquery,Jquery,我有一张表格,通过Ajax发送。首先,它检查所有输入是否已填充(如果未填充,则应用样式,msg()函数使错误出现),如果已填充,则存储数据并通过Ajax发送: $(document).on('click','.accepEditedData',function(){ obj=$(this); sectionEdit=obj.attr('data-section'); newInputs=$('input[data-sectionC='+sectionEdit+']');

我有一张表格,通过Ajax发送。首先,它检查所有输入是否已填充(如果未填充,则应用样式,
msg()
函数使错误出现),如果已填充,则存储数据并通过Ajax发送:

$(document).on('click','.accepEditedData',function(){
    obj=$(this);
    sectionEdit=obj.attr('data-section');
    newInputs=$('input[data-sectionC='+sectionEdit+']');    
    newInputs.each(function(){
        if ($(this).val() === ""){
            msg('error','Por favor, rellena todos los campos, o cancela la edición de tu información.');
            $(this).css('border-bottom','2px solid red').css('color','red');
            return false;
        }
        else{
            if(obj.hasClass('updateInfoBasic')){
                name=$("input[name='us_name']").val();
                tlf=$("input[name='us_tlf']").val();
                mail=$("input[name='us_mail']").val();
                $.post('../actions/updateInfoBasic.php',{us_name:name, us_mail:mail,us_tlf:tlf}).success(
                    function(){  
                        msg("success","Tu información básica ha sido actualizada");
                });
            }

        }

    });
});
我有下一个问题:ELSE语句对
newInputs
变量中存储的每个元素运行一次

当第一个IF语句检查3个输入时,ELSE语句运行3次(包括它的ajax调用和它的
msg('success','…');
函数。同样的情况也发生在4、6等中。通过
检查总输入。每个
,执行ELSE的总次数

理论上,如果所有输入都已填充,则ELSE语句只应运行一次。

尝试使用


你有没有检查过
$(this).val()
在每次迭代中的值是多少?也许它不是
?哦…我以前检查过它,它成功了。现在我一定已经更改了s。即使有没有值的东西,也转到ELSE语句。是否在
newInputs=$('input)中选择了所有
input
元素[data sectionC='+sectionEdit+']);
点击
?,不仅是
'。ACCEPEDITEDATA'
输入可以包括
html
问题?@Biomehanika如果(obj.hasClass('updateInfo'),则
的预期结果是什么
?仅当所有
输入
元素值都不是
”时,
中的语句要求最多调用一次吗?
$(document).on('click','.accepEditedData',function() {
    var obj = $(this);
    var sectionEdit = obj.attr('data-section');
    var newInputs = $('input[data-sectionC='+sectionEdit+']');
    var check = newInputs.get().some(function(el, i) {
      return el.value === ""
    });

    if (check) {
      msg('error','Por favor, rellena todos los campos, o cancela la edición de tu información.');
      newInputs.filter(function() {
        return this.value === ""
      }).css('border-bottom','2px solid red').css('color','red');
    } else {
       if (obj.hasClass('updateInfoBasic')) {
         var name = $("input[name='us_name']").val();
         var tlf = $("input[name='us_tlf']").val();
         var mail = $("input[name='us_mail']").val();
         $.post('../actions/updateInfoBasic.php',{us_name:name, us_mail:mail,us_tlf:tlf})
         .then(function success() {  
           msg("success","Tu información básica ha sido actualizada");
         }, function error(jqxhr, textStatus, errorThrown) {
           console.log(textStatus, errorThrown);
         });
        }
    }
});