У меня есть значения, назначенные для флажков, которые отображаются в текстовом поле только для чтения (выполняется CP C Всего), и это работает.
Затем у меня есть текстовое поле для ввода пользователем количества щелчков и функция JS умножает значение «Итоговое значение CP C» на это значение количества кликов, чтобы получить общую стоимость, которая отображается в другом доступном только для чтения текстовом поле («Общая стоимость»). Это также работает.
Моя проблема, когда я добираюсь до флажков скидки агентства. Что должно произойти, это то, что, если установлен флажок 10% (например), оба из вышеупомянутых текстовых полей только для чтения будут иметь значения, умноженные на 0,9 (чтобы получить скидку 10%). Моя функция JS работает для бегущей суммы CP C, но я не уверен, что происходит с текстовым полем Общая стоимость, так как оно, похоже, не снимает скидку.
Кто-нибудь может мне помочь, что происходит? Я думаю, мне нужна свободная sh перспектива этого, последние несколько ночей я ломал голову над этим.
JS Ссылка на скрипку: https://jsfiddle.net/ud153qot/# & Togetherjs = cjayM362s c
Основная функция JS запускается в строке 174 JS fiddle, но будет также включать ее ниже:
//code to update CPC Total when agency discount is applied
jQuery(function($) {
$('input[name="percentdiscount"]').on('change', function() {
applyDiscount();
});
$('input[type=checkbox]').click(function() {
let sum = 0;
$('input[type=checkbox]:checked').each(function() {
sum += parseFloat($(this).val());
});
$('#sum').val(sum.toFixed(2)).data('total', sum);
applyDiscount();
});
function applyDiscount() {
var pc = parseFloat($('input[name="percentdiscount"]:checked').val());
var noc = parseFloat($('input[id="numberofclickstextbox"]').val());
$('#sum').val(function() {
return ($(this).data('total') * pc).toFixed(2);
});
var CPCsum = parseFloat($('#sum').val());
$('#totalcost').val(function() {
return (noc * CPCsum * pc).toFixed(2);
});
}
});