jquery中each的返回false問題
阿新 • • 發佈:2019-02-06
好久都沒有寫個jq了,那天在寫一個表單驗證的時候,我用each來判斷所有的input框是否為空,如果一旦有值為空的話,就返回,如果沒有值為空的話,就讓提交表單的
view:
<form name="company" action="/" menthod="post">
...
<input type="submit" onclick="return checkForm('company')" class="btn disabled" name="company" value="立即申請">
</form>
js:
我的input框都有class=union_text
function checkForm(formName){
var individual = true;
$('form[name='+formName+']').find('.union_text').each(function(){
if($(this).val()==''){
$(this).next().find('i').show();
individual = false;
return false;
}else{
$(this).next().find('i').hide();
}
})
// alert('不能為空');
return individual;
}
在這個地方,我想寫點東西給自己提個醒:each中的return false,相當於for迴圈中的break,值得注意的是,我開始認為使用return false之後之後的東西都不會執行了,例如我開始會認為alert是不會執行的,但是結果是他的確執行了,後來我知道了,一直以來我對這個地方都有誤解。
each 中的return false只是正對each的迴圈來的,不是針對整個方法,他只是跳出了迴圈,接下來的東西該怎麼執行還是怎麼執行,以後這個地方一定要注意。怎麼塗紅額