jQuery实时检查输入是否有值

时间:2016-12-11 15:55:22

标签: jquery

如何使用jQuery检查输入是否有价值?

if ($("#reference").filter(function() { return $(this).val(); }).length > 0) {
  //..
}

仅检查页面加载,如何检查用户何时更改#reference中的值或将其留空?

3 个答案:

答案 0 :(得分:2)

只需使用jQuery' .on()方法,这样就可以处理动态添加的对象上的事件(如果是实时加载的),如下所示:

  
      
  • 如果.on('change')字段,则应使用select事件。
  •   
  • 如果.on('input')字段,则应使用input事件。
  •   



$(function(){

  
    $('body').on('change', "#mySelect", function() {
      var value = $(this).val();

      console.log('Selected Value: ', value);
    });
  
    $('body').on('input', "#myInput", function() {
      if($(this).val().length) {
        var hasVal = true;
      } else {
        var hasVal = false;
      }
      console.log('Input has value (true / false): ', hasVal + " (" + $(this).val() + ")");
    });
  

});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <select id="mySelect">
    <option value="a">Select A</option>
    <option value="b">Select B</option>
    <option value="c">Select C</option>
    <option value="d">Select D</option>
  </select>
  
  <input type="text" id="myInput">
</div>
&#13;
&#13;
&#13;

希望这有帮助!

答案 1 :(得分:0)

输入字段有change个事件,您可以听取它:

jQuery(document).ready(function($) {
  var $field = $("#reference");
  
  
  $field.on('change', function() {
    var value = $field.val();
    
    console.log('do your validation with ', value);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="reference" />

只需注意

应该使用

jQuery(..).filter来减少jQuery包装集,但是,id被认为是一个唯一的dom元素,因此,过滤器是完全不必要的。

  1. $('#reference').val();

答案 2 :(得分:-1)

  $( "#target" ).keyup(function() {
     alert( "user is typing" );
  });

警告将显示用户是否正在输入内容。这样您就可以生动地检查用户输入的值。

$( "#target" ).keyup(function() {
     if($(this).val()=="something")
     {
      #your code go here
     }

  });