2016-12-08 142 views
1

我想獲得一個空輸入,如果有一個在我的div使用jQuery。它不是應該如此。檢查一個空輸入

div中有4個空輸入。

這裏是我的jQuery:

var firstEmpty = $('#brochureItems').find('input:text:not(:checkbox,:button):visible:first:enabled[value= ""]').first().val(); 
console.log(firstEmpty); 

輸出 '不確定'。

當我刪除「[value =」「]」,我得到'(一個空字符串)'輸出。

我只是想到了一些東西,我在頁面加載時動態地用jquery添加這些輸入。這與它有什麼關係?

+0

你能提供你正在遍歷的html嗎? – chazsolo

回答

-1

試試這個:

function findEmpty(){ 
 
    var div=document.getElementById('theDivID'); 
 
    for(var i=0;i<div.children.length;i++){ 
 
    if(div.children[i].value==''){ 
 
     return div.children[i].id; 
 
    } 
 
    } 
 
    return false; 
 
} 
 
function verify(){ 
 
    var lol = findEmpty(); 
 
    if(lol===false){ 
 
    //Do whatever 
 
    alert("All filled!"); 
 
    } else { 
 
    alert("The first empty input is: "+lol); 
 
    } 
 
}
<div id='theDivID'> 
 
<input id='blah' type='text'/> 
 
<input id='bleh' type='text'/> 
 
<input id='qwertyuiop' type='text'/> 
 
<input type='text'/> 
 
</div> 
 
<input type='button' onclick='verify();' value='Check'/>

+0

這是純js,但他需要一個jQuery解決方法。 –

+0

如果他可以使用JQuery,他可以使用純JS。 – Feathercrown

0

如果我理解你的權利,你想獲得一個div內的所有空輸入。要做到這一點,試試這個代碼:

HTML

<div> 
    <input type="text"> 
    <input type="text"> 
    <input type="text"> 
    <input type="text"> 
    <input type="text" value="asdsad"> 
</div> 


JS

var firstEmpty = $("div input[type='text']").filter(function() { return $(this).val() == ""; }); 

,或者如果你想採取一切空:

var emptyInputs = []; 

$("div input[type='text']").each(function(){ 
    if($(this).val() == '') 
    emptyInputs.push($(this)) 
}); 

這裏是工作提琴: https://jsfiddle.net/xs9jagc8/