使用layer.msg后,在jQuery的each遍历中无法跳出循环?

提问 已结
8 451
无知菜鸟
无知菜鸟 2017-6-16
悬赏:5飞吻
  $('#subit-btn').click(function () {
$("input[name^='goodsnumber']").each(function () {
var _that=$(this);
if(_that.val()===''||isNaN(_that.val())||_that.val()<=0){
return layer.msg('参数错误,请留意光标位置',{time:3000,shade: [0.6, '#393D49'],shadeClose:true},function () {
_that.focus();
return false;
});
}
});
$("input[name^='goodsprice']").each(function () {
var _that=$(this);
if(_that.val()===''||isNaN(_that.val())||_that.val()<=0){
return layer.msg('参数错误,请留意光标位置',{time:3000,shade: [0.6, '#393D49'],shadeClose:true},function () {
_that.focus();
return false;
});
}
});
$("input[name^='goodspricefan']").each(function () {
var _that=$(this);
if(_that.val()===''||isNaN(_that.val())||_that.val()<=0){
return layer.msg('参数错误,请留意光标位置',{time:3000,shade: [0.6, '#393D49'],shadeClose:true},function () {
_that.focus();
return false;
});
}
});
/* $("input[name^='defaultpic']").each(function () {
var _that=$(this);
if(_that.val()===''||isNaN(_that.val())||_that.val()<0){
return layer.msg('缺少图片,请留意页面提示!',{time:3000,shade: [0.6, '#393D49'],shadeClose:true},function () {
_that.parent().parent().parent().parent().find('.goods-images-yuyumy-box').empty().append('<span style="color: #FF5722;">缺少图片</span>');
return false;
});
}
});*/
});
加了return false ;照样跑到了后边的验证,求解.(不加 return false;依然会走到会边的验证);
回帖
  • 莫辞
    2017-6-16
    你的意思是不是return false 之后还是执行到下面的遍历里面去了??
    $('#subit-btn').click(function () {
    var isTrue = true;
    $("input[name^='goodsnumber']").each(function () {
    var _that=$(this);
    if(_that.val()===''||isNaN(_that.val())||_that.val()<=0){
    return layer.msg('参数错误,请留意光标位置',{time:3000,shade: [0.6, '#393D49'],shadeClose:true},function () {
    _that.focus();
    isTrue = false;
    return false;
    });
    }
    });
    if(isTrue){
    $("input[name^='goodsprice']").each(function () {
    var _that=$(this);
    if(_that.val()===''||isNaN(_that.val())||_that.val()<=0){
    return layer.msg('参数错误,请留意光标位置',{time:3000,shade: [0.6, '#393D49'],shadeClose:true},function () {
    _that.focus();
    isTrue = false;
    return false;
    });
    }
    });
    }


    });
    0 回复
  • @莫辞 是的,依然走到了下边的遍历..
    0 回复
  • @莫辞 谢谢你的代码,感激不尽,....[good]
    0 回复
  • return false;是终止当前函数............大意了.
    0 回复
  • @莫辞 ..理论上是走的通了,可我放上去怎么还是走到后边的代码验证上去了..
    0 回复
  • @莫辞 谢谢,结合您的代码,经过仔细排查发现是选择器有问题,二个选择器有点重复了最终代码OK
      $('#subit-btn').click(function () {
    var isTrue=true;
    $("input[name^='goodsnumber[']").each(function () {
    var _that=$(this);
    if(_that.val()===''||isNaN(_that.val())||_that.val()<=0){
    isTrue=false;
    return layer.msg('参数错误,请留意光标位置',{time:3000,shade: [0.6, '#393D49'],shadeClose:true},function () {
    _that.focus();
    });
    }
    });
    console.log(isTrue);
    if(isTrue){
    $("input[name^='goodsprice[']").each(function () {
    var _that=$(this);
    if(_that.val()===''||isNaN(_that.val())||_that.val()<=0){
    isTrue=false;
    return layer.msg('参数错误,请留意光标位置',{time:3000,shade: [0.6, '#393D49'],shadeClose:true},function () {
    _that.focus();
    });
    }
    });
    }
    console.log(isTrue);
    if(isTrue){
    $("input[name^='goodspricefan[']").each(function () {
    var _that=$(this);
    if(_that.val()===''||isNaN(_that.val())||_that.val()<=0){
    isTrue=false;
    return layer.msg('参数错误,请留意光标位置',{time:3000,shade: [0.6, '#393D49'],shadeClose:true},function () {
    _that.focus();
    });
    }
    });
    }
    0 回复
  • 莫辞
    2017-6-19
    @无知菜鸟 哦哦,没有仔细看,你已经 return layer.msg了
    0 回复
  • @莫辞 还是非常感谢你提供的代码,解决了我的问题.非常感谢..
    0 回复