鍍金池/ 問答/HTML/ JS遍歷多個input是否為空

JS遍歷多個input是否為空

如圖:

clipboard.png
有個需求:我有點想不通怎么弄。
當(dāng)所有input為空的時候點擊保存彈出信息“請輸入相關(guān)信息”,
當(dāng)其中一個input里面有值不為空,就可以直接保存。
我的代碼如下:
$(".oss-formDraft .form-group .form-control").each(function () {

        console.log($(this).val() == ''); 

});
如果input都為空,打印出來的12個true,如圖:
clipboard.png
如果有一個input有值,比如第一個電話號碼有值,打印出來是1個false,11個true,如圖
clipboard.png

疑問:當(dāng)全為空的時候,我很好判斷,但是不全為空的時候 怎么判斷了?謝謝各位大佬

回答
編輯回答
骨殘心

es6:

let inputs = [...$(".oss-formDraft .form-group .form-control")]
let canSave = inputs.some(item => $(item).val() != "")

如果...不支持的話,可以使用如下代碼:

let inputs = Array.prototype.slice.call($(".oss-formDraft .form-group .form-control"))
let canSave = inputs.some(item => $(item).val() != "")
2018年7月5日 16:09
編輯回答
有你在

可以用 every:

var isAllEnter = Array.prototype.every.call($('input'), function(item){
    return $(item).val
})

MDN: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/every

2017年4月13日 11:54
編輯回答
心癌

善用||和&&

2018年4月8日 14:46
編輯回答
眼雜

設(shè)置一個開關(guān),一旦出現(xiàn)有不為空的,就為true,循環(huán)結(jié)束后,如果這個開關(guān)是true,那么就說明至少有一個不為空

2017年4月19日 23:07
編輯回答
焚音

遍歷前設(shè)置個變量

var i = 0;

為true時

i++;

最后判斷i為幾就代表幾個為空

2018年8月7日 13:22
編輯回答
舊螢火
let empty=true
$(".oss-formDraft .form-group .form-control").each(function () {
if($.trim($(this).val())!==""){
empty=false
}
}
if(!empty){
submit()
}
2017年8月4日 01:22
編輯回答
焚音
var $controls = $(".oss-formDraft .form-group .form-control")

// hasValueCount  有值的個數(shù)
var hasValueCount = $controls.filter(function(){
    return this.value
})
if( hasValueCount == 0 ){
    // 全空
} else if( hasValueCount < $controls.length ){
    // 填了一部分
} else {
    // 全填了
}

2017年4月13日 14:50