触发事件侦听器时应用输入值
Applying input value when event listener was triggered
我有两个跨度的输入 "buttons":
<label class="label1" for="adults">Adults:</label>
<span class="plus"></span>
<input type="text" id="adults" value="0">
<span class="minus"></span>
简单 JS 适用于 console.log() 但不会将该值应用于实际输入值。 JS/JQuery 中有什么方法可以处理这个问题吗?
var adultsValue = $('#adults').val();
$('.plus').click(function () {
if(adultsValue < 5) {
adultsValue++;
}
console.log(adultsValue);
});
您是 re-assining 一个值,而不是更新当前字段的值。
带有一些修复的片段
- 存储元素
#adults
以避免每次都查找该元素。
- 将当前值转换为数字。
- 设置新的增量值。
var $adults = $('#adults');
$('.plus').click(function () {
var val = Number($adults.val());
if (val < 5) {
$adults.val(++val);
}
console.log(val);
});
var adults = $('#adults')
var adultsValue = adults.val();
$('.plus').click(function () {
if(adultsValue < 5) {
adults.val(adultsValue + 1);
}
console.log(adultsValue);
});
我有两个跨度的输入 "buttons":
<label class="label1" for="adults">Adults:</label>
<span class="plus"></span>
<input type="text" id="adults" value="0">
<span class="minus"></span>
简单 JS 适用于 console.log() 但不会将该值应用于实际输入值。 JS/JQuery 中有什么方法可以处理这个问题吗?
var adultsValue = $('#adults').val();
$('.plus').click(function () {
if(adultsValue < 5) {
adultsValue++;
}
console.log(adultsValue);
});
您是 re-assining 一个值,而不是更新当前字段的值。
带有一些修复的片段
- 存储元素
#adults
以避免每次都查找该元素。 - 将当前值转换为数字。
- 设置新的增量值。
var $adults = $('#adults');
$('.plus').click(function () {
var val = Number($adults.val());
if (val < 5) {
$adults.val(++val);
}
console.log(val);
});
var adults = $('#adults')
var adultsValue = adults.val();
$('.plus').click(function () {
if(adultsValue < 5) {
adults.val(adultsValue + 1);
}
console.log(adultsValue);
});