В настоящее время я пытаюсь получить значение, которое я возвращаю из флажка, чтобы умножить значение в поле ввода с помощью jQuery.Множественное значение флажка с полем ввода значения - JQuery
Я показываю div, когда установлен флажок, чтобы задать его количество, после чего я должен умножить количество со значением этого флажка.
Здесь пока текущий код:
$(document).ready(function() {
var sum = 0;
var qty = 0;
$("input[type=checkbox]").change(function() {
recalculateQty();
recalculateCheck();
if ($('#1').is(':checked')) {
$('#checked-1').show();
} else {
$('#checked-1').hide();
}
if ($('#2').is(':checked')) {
$('#checked-2').show();
} else {
$('#checked-2').hide();
}
if ($('#3').is(':checked')) {
$('#checked-3').show();
} else {
$('#checked-3').hide();
}
});
function recalculateQty() {
$('.qty').keyup(function() {
$('.qty').each(function() {
qty += parseInt(this.value, 10);
recalculateCheck();
});
});
}
function recalculateCheck() {
var sum = 0;
$("input[type=checkbox]:checked").each(function() {
sum += parseInt($(this).val());
});
$('.qty').keyup(function() {
$('.qty').each(function() {
qty += parseInt(this.value, 10);
});
});
$('#total').val(sum * qty);
}
});
<input type="checkbox" id="1" value="30" name="1" />
<input type="checkbox" id="2" value="60" name="2" />
<input type="checkbox" id="3" value="90" name="3" />
<div style="display:none;" id="checked-1">
<input type="text" name="product_1_qty" id="product_1_qty" placeholder="Quantity" class=" qty" value="0" />
</div>
http://jsfiddle.net/isherwood/9vRtJ/1/
С чем вы столкнулись? Есть ли ошибки? Кроме того, что такое 'recalculateCheck();', он, кажется, отсутствует в коде выше. – tymeJV
Вы не должны смешивать JavaScript и PHP-код. Не используйте итерацию с помощью PHP. Вы должны добавить 'var num_products = = $ Num_products?>;' И итерации с использованием JS: 'var x; for (x = 1; x <= num_products; x ++) {...} '. –
Большое спасибо за совет, @tymeJV Я обновил код с отсутствующей функцией. – user2429578