检查空输入

时间:2016-12-08 15:34:04

标签: javascript jquery html

如果我的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动态添加这些输入。这会与它有关吗?

2 个答案:

答案 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'/>