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.
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="">
TypeErrorin the console becausethisis the<input>element and that has no.val()method. Either wrapthisin a jQuery object or use.valueinstead$(this)is jQuery Object &thisis JS object which don't have function.val(). Usethis.valueor$(this).val()