1
"Quantity"とボタン " - "、 "+"の2つの類似したフォームがあります。ボタンをクリックすると入力値が重複する
入力の値を2番目のフォームにコピーして戻す必要があります。
例:最初のフォームで「+」をクリックすると、増分されます。
2番目の形式で同じ値が必要です。
<div class="quantity">
<input class="subtraction" name="sub" type="button" value="-">
<input type="number" step="1" name="qty" value="1" class="input-text qty text panel-quantity" size="4" />
<input class="addition" name="add" type="button" value="+">
</div>
<div class="quantity">
<input class="subtraction" name="sub" type="button" value="-">
<input type="number" step="1" name="qty" value="1" class="input-text qty text panel-quantity" size="4"/>
<input class="addition" name="add" type="button" value="+">
</div>
JS:
$(function(){
$('.quantity').on('click', '.addition, .subtraction', function() {
var quantityPanel = $('.panel-quantity');
var quantity = $(this).closest('.quantity').find('input.qty');
var currentValue = parseInt(quantity.val());
var maxValue = parseInt(quantity.attr('max'));
var minValue = parseInt(quantity.attr('min'));
if($(this).is('.addition')) {
if(maxValue && (currentValue >= maxValue)){
quantity.val(maxValue);
} else {
quantity.val((currentValue + 1));
}
} else {
if (minValue && (currentValue <= minValue)) {
quantity.val(minValue);
} else if(currentValue > 0) {
quantity.val((currentValue - 1));
}
}
quantity.trigger('change');
});
});
私は、彼らが同じように動作するように私は、INPUTに同じ名前を設定することができると思います。
おかげ
それは、入力ボックスに変更をトリガする前に$('input.qty').not(quantity).val(quantity.val());
を追加jsfiddle
のリスナーのonchangeで
$('input.qty').not(this).val($(this).val());
を追加しています!それは素晴らしいです!ありがとう – Frunkyあなたはウェルカムメイトです – jafarbtech