【问题标题】:checking for an empty input [duplicate]检查空输入[重复]
【发布时间】:2016-12-09 00:22:08
【问题描述】:

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

【问题讨论】:

  • 能否提供您正在遍历的html?

标签: javascript jquery html


【解决方案1】:

如果我理解正确,您希望在 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))
});

Fiddle 在这里工作:https://jsfiddle.net/xs9jagc8/

【讨论】:

    【解决方案2】:

    试试这个:

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

    【讨论】:

    • 纯 js 但他需要一个 jquery 解决方法。
    • 如果他会使用JQuery,他可以使用纯JS。
    猜你喜欢
    • 2018-04-18
    • 1970-01-01
    • 2013-05-24
    • 2014-12-16
    • 1970-01-01
    • 2011-11-19
    • 2016-11-19
    • 2017-01-31
    • 1970-01-01
    相关资源
    最近更新 更多