Javascript jQuery keyup事件无法获取正确的值

Javascript jQuery keyup事件无法获取正确的值,javascript,jquery,Javascript,Jquery,我有一个动态生成的HTML表单。表单包含一个输入字段和一个隐藏的输入字段。因此,动态生成的次数取决于用户。输入字段的ID和名称也是动态设置的。当用户在输入框中键入内容时,我依靠类从输入字段中获取值 这是我的html表单的静态代码 <div id="choose_subjects_div2" class="form-group" > <div class="col-md-6"> <input type="hidden" class="form-con

我有一个动态生成的HTML表单。表单包含一个输入字段和一个隐藏的输入字段。因此,动态生成的次数取决于用户。输入字段的ID和名称也是动态设置的。当用户在输入框中键入内容时,我依靠类从输入字段中获取值

这是我的html表单的静态代码

<div id="choose_subjects_div2" class="form-group" >
   <div class="col-md-6">
      <input type="hidden" class="form-control onesubject" id="subj_1" name="subj_1" value="8">
      <input type="number" class="form-control onetotal" id="tot_1" name="tot_1">
   </div>
   <p></p>
   <div class="col-md-6">
      <input type="hidden" class="form-control onesubject" id="subj_2" name="subj_1" value="5">
      <input type="number" class="form-control onetotal" id="tot_2" name="tot_1" ">
   </div>
   <p></p>
</div>
keyup事件在延迟1秒后工作


这些值取错了。这是一个。

您需要从触发keyup的相同输入中获取值,因此您需要使用
$(此)
,而不是
$('.onetotal')
内部
延迟
函数:

$('.onetotal').keyup(function () {
    delay(function () {
        var xxx = $(this).val();
        var hiddenx = $(this).siblings('.onesubject').val();
        alert(xxx + ' and ' + hiddenx);
    }.bind(this), 1000);
});

Demo:

每次选择所有隐藏输入时,
val()
返回第一个输入的值。您应该使用
this
event.target
获取当前输入及其邻居

$('.onetotal').keyup(function(event) {
   var $current = $(this)
   delay(function(){
       var xxx=$current.val(),
           hiddenx = $current.siblings('.onesubject').attr('value');
       alert(xxx +'and' +hiddenx );
 }, 1000 );

}))

您有相同的
ID
。更改它们。正确获取隐藏字段值,但根本不获取输入字段值@DFSQ在演示中正确获取了隐藏字段值和文本字段值,您检查了吗?正确获取了隐藏字段值,但根本没有获取输入字段值@culebrón
$('.onetotal').keyup(function(event) {
   var $current = $(this)
   delay(function(){
       var xxx=$current.val(),
           hiddenx = $current.siblings('.onesubject').attr('value');
       alert(xxx +'and' +hiddenx );
 }, 1000 );