如果我的div中有一个使用jQuery,我试图获得一个空输入。它没有按预期工作。
div中有4个空输入。
这是我的jquery:
var firstEmpty = $('#brochureItems').find('input:text:not(:checkbox,:button):visible:first:enabled[value= ""]').first().val();
console.log(firstEmpty);
输出'undefined'。
当我删除“[value =”“]”时,我输出'(空字符串)'。
我只想到了一些东西,我在页面加载时使用jquery动态添加这些输入。这会与它有关吗?
答案 0 :(得分: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/
答案 1 :(得分:-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'/>