是否可以使用嵌套的每个和keyup函数?

时间:2017-02-10 07:27:58

标签: javascript jquery

我需要使用每个函数,因为它有多个输入。我需要在每个输入中使用keyup函数。但是可以使用嵌套的每个和keyup函数吗?键盘功能不起作用。编码时是否有错误?以下两个代码示例不适用于keyup函数。

  $(".my-input").each(function () {
  var txtvalue = $(this).val();
  $('.my-input').keyup( function () {                  
  if (txtvalue == "") {
  //the code
  } else {
  //the code
  }
  }) })
  

  $('.my-input').keyup(function () {
  $(".my-input").each(function () {
  debugger;
  var txtvalue = $(this).val();
  if (txtvalue == "") {
  //the code           
  } else {
  //the code
  }
  })
  })

2 个答案:

答案 0 :(得分:2)

所以问题是你在keyup之前获得了值,此时 - 输入字段中没有文本。你需要在keyup方法中移动它。像这样:

$(".my-input").each(function () {
  $(this).keyup( function () {    
    var txtvalue = $(this).val();
    console.log(txtvalue);
  }) 
});

这是fiddle。我加入了tempid来显示它正在获得不同的领域。

答案 1 :(得分:0)

您应该将参数event传递给函数.keyup(event)。比你想要的那样处理这个值。看一下示例片段:

$(".my-input").each(function () {
  $('.my-input').keyup( function (e) {                  
     $(".res").html(e.which);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="my-input">
<input type="text" class="my-input">
<input type="text" class="my-input">
<input type="text" class="my-input">
<div class="res"></div>