Отключить переключатель, если количество превышает лимит - PullRequest
1 голос
/ 18 марта 2020

Я хочу отключить переключатель, когда входной номер (id = количество) превышает значение радиоприемника, и включить, если количество меньше значения радиосигнала. Вот (неудачная) попытка сделать это. До сих пор мне кажется, что «количество» используется только тогда, когда используется кнопка сложения / вычитания, и, таким образом, количество количества всегда будет неправильным. Я также пытался использовать «onchange», но это не сработало.

function radio_disabler() {
  var qnt = document.getElementById("quantity").value;
  if (qnt >= 3) {
    document.getElementById("3t").disabled = true;
  }
  if (qnt <= 3) {
    document.getElementById("3t").disabled = false;
  }
  if (qnt === 3) {
    document.getElementById("3t").disabled = false;
  }
}
<div class="input-group col-md-4 col-sm-10">
  <span class="input-group-btn">
                <button type="button btn-warning" class="quantity-left-minus"  data-type="minus" data-field="" onclick="radio_disabler()">
                  <span class="glyphicon glyphicon-minus">-</span></button>
  </span>
  <input type="text" id="quantity" name="quantity" class="form-control input-number" value="1" min="1" max="100">
  <span class="input-group-btn">
              <button type="button btn-warning" class="quantity-right-plus" data-type="plus" data-field="" onclick="radio_disabler()">
    <span class="glyphicon glyphicon-plus">+</span>
  </button>
  </span>
</div>


<div id="trucks">

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="3t" name="truck" value="3">
  <label for="3t">- 3 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="5t" name="truck" value="5">
  <label for="5t">- 5 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="10t" name="truck" value="10">
  <label for="10t">- 10 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="15t" name="truck" value="15">
  <label for="15t">- 15 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="20t" name="truck" value="20">
  <label for="20t">- 20 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="30t" name="truck" value="30">
  <label for="30t">- 30 tons</label><br>
</div>
РЕДАКТИРОВАТЬ:

Я забыл включить кнопку js

$ (документ) .ready (function () {

var quantitiy = 1; $ ('. number-right-plus'). click (function (e) {

    // Stop acting like a button
    e.preventDefault();
    // Get the field name
    var quantity = parseInt($('#quantity').val());

    // If is not undefined

        $('#quantity').val(quantity + 1);


        // Increment

});

 $('.quantity-left-minus').click(function(e){
    // Stop acting like a button
    e.preventDefault();
    // Get the field name
    var quantity = parseInt($('#quantity').val());

    // If is not undefined

        // Increment
        if(quantity>0){
        $('#quantity').val(quantity - 1);
        }
});

});

Ответы [ 3 ]

2 голосов
/ 18 марта 2020

JavaScript:

function decrease() {
    document.getElementById("quantity").value = parseInt( document.getElementById("quantity").value ) - 1
    radio_disabler()
}

function encrease() {
    document.getElementById("quantity").value = parseInt( document.getElementById("quantity").value ) + 1
    radio_disabler()
}

function radio_disabler() {
    var qnt = document.getElementById("quantity").value;
    if ( qnt > 3 ) {
        document.getElementById("3t").disabled = true;
    }
    if ( qnt < 3 ) {
        document.getElementById("3t").disabled = false;
    }
    if ( qnt == 3 ) {
        document.getElementById("3t").disabled = false;
    }
}

HTML:

<div class="input-group col-md-4 col-sm-10">
    <span class="input-group-btn">
        <button type="button btn-warning" class="quantity-left-minus"  data-type="minus" data-field="" onclick="decrease()">
        <span class="glyphicon glyphicon-minus">-</span></button>
    </span>
    <input type="text" id="quantity" name="quantity" class="form-control input-number" value="1" min="1" max="100">
    <span class="input-group-btn">
        <button type="button btn-warning" class="quantity-right-plus" data-type="plus" data-field="" onclick="encrease()">
            <span class="glyphicon glyphicon-plus">+</span>
        </button>
    </span>
</div>

<div id="trucks">
    <img src="assets/img/truck.png" alt="" width="100px">
    <input type="radio" id="3t" name="truck" value="3">
    <label for="3t">- 3 tons</label><br>

    <img src="assets/img/truck.png" alt="" width="100px">
    <input type="radio" id="5t" name="truck" value="5">
    <label for="5t">- 5 tons</label><br>

    <img src="assets/img/truck.png" alt="" width="100px">
    <input type="radio" id="10t" name="truck" value="10">
    <label for="10t">- 10 tons</label><br>

    <img src="assets/img/truck.png" alt="" width="100px">
    <input type="radio" id="15t" name="truck" value="15">
    <label for="15t">- 15 tons</label><br>

    <img src="assets/img/truck.png" alt="" width="100px">
    <input type="radio" id="20t" name="truck" value="20">
    <label for="20t">- 20 tons</label><br>

    <img src="assets/img/truck.png" alt="" width="100px">
    <input type="radio" id="30t" name="truck" value="30">
    <label for="30t">- 30 tons</label><br>
</div>
0 голосов
/ 18 марта 2020

function radio_disabler() {
  var qnt = document.getElementById("quantity").value;
  if (qnt >= 3) {
    document.getElementById("3t").disabled = true;
  }
  if (qnt <= 3) {
    document.getElementById("3t").disabled = false;
  }
  if (qnt === 3) {
    document.getElementById("3t").disabled = false;
  }
}
<div class="input-group col-md-4 col-sm-10">
  <span class="input-group-btn">
                <button type="button btn-warning" class="quantity-left-minus"  data-type="minus" data-field="" onclick="radio_disabler()">
                  <span class="glyphicon glyphicon-minus">-</span></button>
  </span>
  <input type="text" id="quantity" name="quantity" class="form-control input-number" value="1" min="1" max="100" onkeyup='radio_disabler()'>
  <span class="input-group-btn">
              <button type="button btn-warning" class="quantity-right-plus" data-type="plus" data-field="" onclick="radio_disabler()">
    <span class="glyphicon glyphicon-plus">+</span>
  </button>
  </span>
</div>


<div id="trucks">

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="3t" name="truck" value="3">
  <label for="3t">- 3 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="5t" name="truck" value="5">
  <label for="5t">- 5 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="10t" name="truck" value="10">
  <label for="10t">- 10 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="15t" name="truck" value="15">
  <label for="15t">- 15 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="20t" name="truck" value="20">
  <label for="20t">- 20 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="30t" name="truck" value="30">
  <label for="30t">- 30 tons</label><br>
</div>
0 голосов
/ 18 марта 2020

function radio_disabler() {
  var qnt = document.getElementById("quantity").value;
  console.log(qnt)
  if (qnt > 3) {
    document.getElementById("3t").disabled = true;
  }
  if (qnt < 3) {
    document.getElementById("3t").disabled = false;
  }
  if (qnt === 3) {
    document.getElementById("3t").disabled = false;
  }
}
<div class="input-group col-md-4 col-sm-10">
  <span class="input-group-btn">
            <button type="button btn-warning" class="quantity-left-minus"  data-type="minus" data-field="" onclick="radio_disabler()">
              <span class="glyphicon glyphicon-minus">-</span></button>
  </span>
  <input type="text" id="quantity" name="quantity" class="form-control input-number" value="1" min="1" max="100">
  <span class="input-group-btn">
          <button type="button btn-warning" class="quantity-right-plus" data-type="plus" data-field="" onclick="radio_disabler()">
<span class="glyphicon glyphicon-plus">+</span>
  </button>
  </span>
</div>


<div id="trucks">

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="3t" name="truck" value="3">
  <label for="3t">- 3 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="5t" name="truck" value="5">
  <label for="5t">- 5 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="10t" name="truck" value="10">
  <label for="10t">- 10 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="15t" name="truck" value="15">
  <label for="15t">- 15 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="20t" name="truck" value="20">
  <label for="20t">- 20 tons</label><br>

  <img src="assets/img/truck.png" alt="" width="100px">
  <input type="radio" id="30t" name="truck" value="30">
  <label for="30t">- 30 tons</label><br>
</div>
...