从jQuery检测PHP foreach内部的输入值变化

坦维尔·索罗夫(Tanvir Sourov)

我在值来自数据库的表单内有一个PHP foreach循环。在此,输入ID随着循环元素的增加而增加。

<form class="form-horizontal">
    <?php
        $count = 0;
        foreach ($value as $row) {
            $count += 1;
            echo 
            '<div class="row">
                <div class="form-group">
                    <label id="durationLabel' . $count . '">Duration (days)</label>
                    <input type="number" name="duration_days" value="' . $row['duration_days'] . ' day" class="form-control input-sm" id="durationInput' . $count . '" placeholder="Days" onchange="durationInputChange(this.value,'.$count.')">
                 </div>             
             </div>';
         }
     ?>
</form>

现在,我的问题是,如何检测输入值是否发生更改(基于ID)并获取该值,并使用jQuery在相应的Label中显示出来。我当前使用的JavaScript代码对值更改没有任何作用:

function durationInputChange(a,i) { 
    var d = document.getElementById("durationInput"+i).value; 
    alert(d);
}
亚当·阿扎德(Adam Azad)

change如果您想要更多更快的反馈,就不能使用change模糊输入元件之后执行是Event。您可以添加keyupkeydown和更喜欢paste此外,您不需要该onchange属性-内联绑定和事件侦听器为no。

$(function(){
  
  $('input[name="input-1"]').on('keyup change paste keydown', function(){
    
    var $this = $(this); 
    
    console.log($this.attr('id')); // ID; for referencing 
    console.log($this.val()); // value of this input

  });

})
input {
  display:block;
  margin-bottom:10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<input name="input-1" value="" id="input-1">
<input name="input-1" value="" id="input-2">
<input name="input-1" value="" id="input-3">
<input name="input-1" value="" id="input-4">
<input name="input-1" value="" id="input-5">
<input name="input-1" value="" id="input-6">
<input name="input-1" value="" id="input-7">
<input name="input-1" value="" id="input-8">
<input name="input-1" value="" id="input-9">
<input name="input-1" value="" id="input-10">
<input name="input-1" value="" id="input-11">
<input name="input-1" value="" id="input-12">
<input name="input-1" value="" id="input-13">

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章