Как заблокировать возможность нажатия определенной кнопки?

Как извлечь цифру, представляющую количество товара в наличии, из разметки HTML вашего сайта OpenCart, и как манипулировать количеством товара с помощью кнопок "+" и "-" внутри разметки HTML?
  • 18 июля 2024 г. 18:02
Ответы на вопрос 2
1. Чтобы заблокировать возможность нажатия определенной кнопки, можно использовать атрибут disabled в HTML. Например, если нужно заблокировать кнопку с id "exampleButton", то код будет выглядеть так:

```html
<button id="exampleButton" disabled>Недоступная кнопка</button>
```

2. Для извлечения цифры, представляющей количество товара в наличии, из разметки HTML в OpenCart, нужно найти соответствующий элемент и получить его значение используя JavaScript. Например, если количество товара находится в элементе с id "stock", то код будет выглядеть так:

```html
<div id="stock">10</div>
```

```javascript
// Получаем элемент с id "stock"
var stockElement = document.getElementById("stock");

// Получаем значение количества товара
var stockAmount = stockElement.innerText;
```

3. Для манипулирования количеством товара с помощью кнопок "+" и "-" внутри разметки HTML можно использовать JavaScript для изменения значений. Например, если у вас есть кнопки с id "plusButton" и "minusButton" для увеличения и уменьшения количества товара соответственно, то код будет выглядеть примерно так:

```html
<div>
  <button id="minusButton">-</button>
  <span id="quantity">1</span>
  <button id="plusButton">+</button>
</div>
```

```javascript
// Получаем кнопки и элемент количества товара
var minusButton = document.getElementById("minusButton");
var plusButton = document.getElementById("plusButton");
var quantityElement = document.getElementById("quantity");

// Уменьшаем количество товара на 1 при нажатии на кнопку "-"
minusButton.addEventListener("click", function() {
  var quantity = parseInt(quantityElement.innerText);
  if (quantity > 1) {
    quantityElement.innerText = quantity - 1;
  }
});

// Увеличиваем количество товара на 1 при нажатии на кнопку "+"
plusButton.addEventListener("click", function() {
  var quantity = parseInt(quantityElement.innerText);
  quantityElement.innerText = quantity + 1;
});
``` 

Таким образом, вы можете управлять количеством товара на вашем сайте OpenCart с помощью кнопок внутри разметки HTML.
Все просто. 

<script>
  $(document).ready(function() {
    var maxQuantity = parseInt($('.pr-quantity').text().trim());

    function updateQuantity(val) {
      var $input = $('#input-quantity');
      var currentVal = parseInt($input.val(), 10);
      currentVal = isNaN(currentVal) ? 1 : currentVal;
      $input.val(Math.min(currentVal + val, maxQuantity));

      if (currentVal + val >= maxQuantity) {
        $('.journal-stepper').last().prop('disabled', true);
      } else {
        $('.journal-stepper').last().prop('disabled', false);
      }
    }

    $('.journal-stepper').first().click(function() {
      updateQuantity(-1);
    });

    $('.journal-stepper').last().click(function() {
      updateQuantity(1);
    });

    $('#input-quantity').keydown(function(e) {
      if (e.which === 38) {
        updateQuantity(1);
        return false;
      }
      if (e.which === 40) {
        updateQuantity(-1);
        return false;
      }
    });
  });
</script>
Похожие вопросы