简体   繁体   English

我如何使用 Jquery 检测输入值何时发生变化

[英]How i can detect when input values are change using Jquery

I don't understand why it doesn't work, It should print debug by console.log and i tried to use on change method also didn't work.我不明白为什么它不起作用,它应该通过 console.log 打印 debug 并且我尝试使用更改方法也不起作用。

So, i can't find the way to fix, How i can solve this problem.所以,我找不到解决方法,我该如何解决这个问题。 Thank you for your help.感谢您的帮助。

 $(document).ready(function() { $("[id^=item-]").on('input', function() { console.log(this.val()) }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input class="input item-input" type="text" id="item-1" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-2" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-3" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-4" placeholder="จำนวน" value="">

or或者

 $(document).ready(function() { $("#item-1").on('input', function() { console.log(this.val()) }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input class="input item-input" type="text" id="item-1" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-2" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-3" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-4" placeholder="จำนวน" value="">

this in your event handler is the <input> element that triggered the event.事件处理程序中的this是触发事件的<input>元素。
.val() is a jQuery method. .val()是一种 jQuery 方法。

Either wrap this in a jQuery object无论是包装this在一个jQuery对象

$(this).val()

Or use .value或者使用.value

this.value

 $(document).ready(function() { $("#item-1").on('input', function() { console.log(this.value); console.log($(this).val()); }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input class="input item-input" type="text" id="item-1" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-2" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-3" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-4" placeholder="จำนวน" value="">

You either need to wrap this in a jQuery object:您可能需要换this在一个jQuery对象:

console.log($(this).val());

 $(document).ready(function() { $("[id^=item-]").on('input', function() { console.log($(this).val()); }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input class="input item-input" type="text" id="item-1" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-2" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-3" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-4" placeholder="จำนวน" value="">

or use this natively and grab the value :this机使用this并获取

console.log(this.value);

 $(document).ready(function() { $("[id^=item-]").on('input', function() { console.log(this.value); }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input class="input item-input" type="text" id="item-1" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-2" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-3" placeholder="จำนวน" value=""> <input class="input item-input" type="text" id="item-4" placeholder="จำนวน" value="">

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM