Быстрый вопрос, оператор IF, кажется, не работает, пока l oop при отключении элемента - PullRequest
1 голос
/ 17 апреля 2020

Как вы можете видеть в приведенном ниже коде, я хочу отключить кнопку МИНУС количественного продукта, когда значение равно if(inputVal == '1') {

Странная вещь в том, что АЛЕРТ работает правильно и рассчитывает, если есть 2 продукта с количеством ONE (inputVal), но оператор IF, кажется, применяет каждую кнопку MINUS ON, отключая ее, когда она должна отключить кнопку MINUS только в том случае, если количество равно 1 (как, например, в операторе if).

Я не понимаю, почему он отключает все кнопки MINUS, когда их количество не равно 1.

Вот мой код:

// JqueryCode

$('.update-quantity-section').each(function () {
    var inputVal = $(this).find('.cart-quantity').val();
    console.log(inputVal);
    if(inputVal == '1') {
        alert('disabled');
        $('.update-quantity').addClass('disableClick');
    } else {
        $('.update-quantity').removeClass('disableClick');
    }
});

// CSS код

.disableClick{
    pointer-events: none;
}

// Пока l oop в PHP / HTML

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    extract($row);
    echo "<div class='col-md-2 update-quantity-section' style='text-align:center;'>";
               echo "<div class='quantity'>
             <div class='minus'><a class='change-quantity update-quantity' data-id='{$id}' data-multi='-1'>-</a></div>
             <div class='sp-input'>
               <input type='text' class='quantity-input cart-quantity' value='{$quantity}' />
             </div>
             <div class='plus'><a class='change-quantity update-quantity' data-id='{$id}' data-multi='1'>+</a></div>
           </div>";
    echo "</div>";
}

Я много искал, но не знаю, что искать для этой проблемы. Потому что меня смущает, что ALERT работает и считает, что они хороши, и имеют количество NUMBER 1. Но addclass и removeclass не работают.

Спасибо за ваше время, я ценю это.

1 Ответ

2 голосов
/ 17 апреля 2020
$('.update-quantity').addClass('disableClick');
$('.update-quantity').removeClass('disableClick');

Это добавление / удаление класса каждого элемента с классом .update-quantity, вам нужно сделать:

$(this).find('.update-quantity').addClass('disableClick');

, и вы можете изменить:

if(inputVal == '1') {
    alert('disabled');
    $('.update-quantity').addClass('disableClick');
} else {
    $('.update-quantity').removeClass('disableClick');
}

до

 $(this).find('.update-quantity').toggleClass('disableClick', inputVal == '1');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...