Цена должна хорошо меняться при изменении количества, но она не меняется, когда она одна
Цена должна хорошо меняться при регулировании количества, но она не меняется, когда она одна. В чем проблема? От двух все работает правильно. Я хочу модифицировать этот код и спать спокойно. Великие разработчики, пожалуйста, помогите мне.
script
$(document).ready(function () {
$('.price_btn input[type="button"]').on('click', function () {
var $ths = $(this);
var $par = $ths.parent().parent();
var $obj = $par.find('input[type="text"]');
var $input = $par.find('input[id="price2"]');
var $price2 = parseInt($par.find('strong[name="price2"]').text().replace(/[^0-9]/g, ""));
var val = $obj.val();
if ($ths.val() == '-') {
if (val > 1)
$obj.val(--val);
$input.val($price2);
} else if ($ths.val() == '+') {
if (val < 30)
$obj.val(++val);
$input.val($price2);
}
//수량 변경
var unit_amount = $par.find('.price_unit').text().replace(/[^0-9]/g, "");
var quantity = val;
pay_unit_func($par, unit_amount, quantity);
pay_total_func();
});
function pay_unit_func($par, unit_amount, quantity) {
//1번 단
var unit_total_amount = $par.find('.price_amount').text((unit_amount * quantity).toLocaleString());
}
function pay_total_func() {
//2번 단
var amount_total = 0;
var converse_unit = 0;
$('.cart_list li').each(function () {
converse_unit = $(this).find('.price_amount').text().replace(/[^0-9]/g, "");
amount_total = amount_total + (parseInt(converse_unit) || 0);
});
html
" <div class=\"price_btn\">\n" +
" <input type=\"button\" value=\"-\" class=\"minus_btn\">\n" +
" <input style=\"width: 15%;\" type=\"text\" value=\"0\" class=\"number\" name=\"quantity\" id=\"quantity\">\n" +
" <input type=\"button\" value=\"+\" class=\"plus_btn\">\n" +
" </div>\n" +
" <div class=\"total_p\" style='margin-top:30px; margin-left: -2px;'>\n" +
" <p style=\"font-size: 18px;\">가격<strong name=\"price2\" id=\"price2\" class=\"price_amount\" style=\"font-size: 18px; color: #849160; margin-left: 180px;\">" + 0 + "</strong>원\n" +
" <input name=\"price2\" id=\"price2\" class=\"number\"\>" +
" </div>\n" +
Я думаю, что это проблема.
$(document).ready(function () {
$('.price_btn input[type="button"]').on('click', function () {
var $ths = $(this);
var $par = $ths.parent().parent();
var $obj = $par.find('input[type="text"]');
var $input = $par.find('input[id="price2"]');
var $price2 = parseInt($par.find('strong[name="price2"]').text().replace(/[^0-9]/g, ""));
var val = $obj.val();
if ($ths.val() == '-') {
if (val > 1)
$obj.val(--val);
$input.val($price2);
} else if ($ths.val() == '+') {
if (val < 30)
$obj.val(++val);
$input.val($price2);
}