检查是否有任何文本框包含文本

时间:2015-05-29 13:55:55

标签: javascript jquery html validation

我有这样的HTML结构:

<div class="input_div_0">
    <input type="text" class="textbox input">
</div>
<div class="input_div_1">
    <input type="text" class="textbox input">
</div>
<div class="input_div_2">
    <input type="text" class="textbox input">
</div>

我想编写一个表达式,如果任何input包含文本

,它将返回true

修改

根据Dimitar的回答,我想出了这个:

function checkInputs()
{
    $('input.textbox').each(function () {
        if ($(this).val() !== "") {
            return true;
        }
    });
    return false;
}

if (!checkInputs()) {
        //Display message
    }

但每次都会返回错误。

4 个答案:

答案 0 :(得分:7)

尝试使用Array.prototype.some

var res = Array.prototype.some.call(document.querySelectorAll("input")
          , function(el, i) {
              return el.value.length > 0
          });

console.log(res);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="input_div_0">
  <input type="text" class="textbox input">
</div>
<div class="input_div_1">
  <input type="text" class="textbox input">
</div>
<div class="input_div_2">
  <input type="text" class="textbox input" value="0">
</div>

答案 1 :(得分:0)

$('input[type="text"]').each(function() {
    console.log(!!$(this).val());
});

答案 2 :(得分:0)

function checkInput(){
   var result = false;
   $('input.textbox').each(function() {
      if($(this).val() !== ""){
         result = true;
      };
   });
   return result;
};

答案 3 :(得分:0)

试试这个:

工作示例https://jsfiddle.net/d313m9vL/

$(function(){
    function isEmpty(){
        var inputs = $("input[type=text]");
        if(inputs.val().length === 0)
            return true;
    }

    $("button")
    .on("click", function(){
        if(isEmpty) alert("error");
    });

});