创建一个条件,以便在<input>事件发生之前具有值 jQuery



>我创建了一个条件,当单击按钮时,它将从<input id="id" class="req">框中获取我的 ID 的值,并显示该 ID 的关联名称并将其放在"名称<input id="name" class="req">"框中。

所以当我输入1时,我会得到BOB。 非常基本。

我还有一个条件,即<input>框都应该有值,然后才能出现特定的<div>。 因此,默认情况下,此<div>隐藏的

挣扎的部分是,每当我单击按钮时,我都会得到名称,即使我已经成功填充了我的 2 个<input>框,<div>仍然不会出现。

这是我的代码。

//<input> conditions
$('input.req').on("keyup keypress change", function () {
  $('input.req').each(function() { 
    if($(this).val() != "") {
        $("#content").show();
    }
    else {
        $("#content").hide();
    }
  });
});

同样,如果你输入1,你会得到鲍勃。 但<div>不会出现。 但是,如果您手动填写文本框,则会出现<div>

想要发生的是,输入我的ID,单击按钮,获取名称,将名称放在"我的名字<input>"框中,然后显示<div>

您还应该在 Ajax 成功处理程序中选中输入框,因为到目前为止,您只在关键事件上执行此操作:

$.ajax({
   url: //url,
   success: function() {
      $('input.req').each(function() { 
         if($(this).val() != "") {
            $("#content").show();
         }
         else {
            $("#content").hide();
         }
      });
   }    
})

你的问题是每次输入是变化时你都会抛出每个输入。只需删除$('input.req').each(function() {,一切都会好起来的。

最新更新