Я получил эту работу, чтобы добавить / минус число в поле ввода.
Однако я хочу, чтобы результат отображался в <p class = "qty1"></p>, а не в поле input.
Я попытался сделать это сам, используя innerHTML, но не смог заставить его работать.
$(function() {
$('.minus,.add').on('click', function() {
var $qty = $(this).closest('.form-height').find('.qty'),
currentVal = parseInt($qty.val()),
isAdd = $(this).hasClass('add');
!isNaN(currentVal) && $qty.val(
isAdd ? ++currentVal : (currentVal > 0 ? --currentVal : currentVal)
);
});
});<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div class = "form-height">
<input id = "qty1" type = "text" readonly value = "5" class = "qty form-control" />
<p class = "qty1"></p>
<img src = "images/minus.png" id = "minus1" width = "20" height = "20" class = "minus" />
<img id = "add1" src = "images/plus.png" width = "20" height = "20" class = "add" />
</div>
<hr />
<div class = "form-height">
<input id = "qty2" type = "text" readonly value = "7" class = "qty form-control" />
<p class = "qty2"></p>
<img src = "images/minus.png" id = "minus1" width = "20" height = "20" class = "minus" />
<img id = "add1" src = "images/plus.png" width = "20" height = "20" class = "add" />
</div>Тег Ankush <p> имеет класс, а вход имеет значительный идентификатор.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать .html () или .text (), чтобы добавить значение к тегу p, например
$('.qty1').html(currentValue);
ИЛИ
$('.qty1').text(currentValue);
Чтобы узнать разницу между двумя методами кликните сюда
Где мне добавить / заменить эту строку?
Если я правильно понимаю ваш вопрос, этот код должен делать то, что вы хотите:
$(function() {
$('.minus,.add').on('click', function() {
var $qty = $(this).closest('.form-height').find('.qty'),
currentVal = parseInt($qty.val()),
isAdd = $(this).hasClass('add');
if (!isNaN(currentVal)) {
newVal = isAdd ? ++currentVal : (currentVal > 0 ? --currentVal : currentVal);
$p.text(newVal);
$qty.val(newVal);
}
});
});<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div class = "form-height">
<input id = "qty1" type = "text" readonly value = "5" class = "qty form-control" />
<p class = "qty1"></p>
<img src = "images/minus.png" id = "minus1" width = "20" height = "20" class = "minus" />
<img id = "add1" src = "images/plus.png" width = "20" height = "20" class = "add" />
</div>
<hr />
<div class = "form-height">
<input id = "qty2" type = "text" readonly value = "7" class = "qty form-control" />
<p class = "qty2"></p>
<img src = "images/minus.png" id = "minus1" width = "20" height = "20" class = "minus" />
<img id = "add1" src = "images/plus.png" width = "20" height = "20" class = "add" />
</div>Редактировать Если тег <input> должен быть полностью удален, это требует лишь незначительной модификации вашего кода:
$(function() {
$('.minus,.add').on('click', function() {
var $qty = $(this).closest('.form-height').find('.qty'),
currentVal = parseInt($qty.text()),
isAdd = $(this).hasClass('add');
!isNaN(currentVal) && $qty.text(
isAdd ? ++currentVal : (currentVal > 0 ? --currentVal : currentVal)
);
});
});<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div class = "form-height">
<p class = "qty">5</p>
<img src = "images/minus.png" id = "minus1" width = "20" height = "20" class = "minus" />
<img id = "add1" src = "images/plus.png" width = "20" height = "20" class = "add" />
</div>
<hr />
<div class = "form-height">
<p class = "qty">7</p>
<img src = "images/minus.png" id = "minus1" width = "20" height = "20" class = "minus" />
<img id = "add1" src = "images/plus.png" width = "20" height = "20" class = "add" />
</div>Это работает только при наличии поля ввода. Мне нужно удалить поле ввода. Спасибо.
Вы имеете в виду полностью удалить поле ввода?
да. Я фактически добавил это поле ввода как существующий рабочий код. Мне нужно удалить поле ввода и добавить только <p>.
Хорошо, я добавил правку, которая удаляет <input>. Я думаю, ты должен делать то, что хочешь.
Большое спасибо! Это здорово. Я все еще учусь использовать val (), innerHTML и тому подобное. Так запутанно! :)
Ага - так много терминов для того, что в значительной степени одно и то же. Рад, что смог помочь.
Смотрите здесь: stackoverflow.com/questions/935956/…