Все работает отлично, за исключением проблемы с выбором плана ценообразования. Я хочу, чтобы всякий раз, когда пользователь нажимает на указанную цену (даже если текст уже присутствует в textarea), он должен немедленно обновить окончательную цену. Но сначала это не изменится.Калькулятор цен на количество слов в Javascript
Вместо этого я должен щелкнуть дважды. Кто-нибудь понял, что случилось?
Так вот как это выглядит:
И здесь приходит Javascript код:
function __textCalculatorCounter(){
var value = $('#calculateText').val();
var spanWords = $('#calculatedWordsTotal'),
spanChars = $('#calculatedCharsTotal'),
spanPrice = $('#calculatedPriceTotal');
if (value.length == 0) {
spanWords.html(0);
spanChars.html(0);
return;
}
var selectedPricing = $("input[name=calculatePrice]:checked").val();
var wordCount = value.trim().replace(/\s+/gi, ' ').split(' ').length;
var totalChars = value.length;
var totalPrice = (wordCount * parseFloat(Math.round(selectedPricing * 100)/100));
spanWords.html(wordCount);
spanChars.html(totalChars);
spanPrice.html(totalPrice.toFixed(2));
}
function _initTextCalculator(){
var textblock = $('#calculateText');
textblock.change(__textCalculatorCounter);
textblock.keydown(__textCalculatorCounter);
textblock.keypress(__textCalculatorCounter);
textblock.keyup(__textCalculatorCounter);
textblock.blur(__textCalculatorCounter);
textblock.focus(__textCalculatorCounter);
$('label', '#pricesGroup').click(__textCalculatorCounter);
}
==== ==== ОБНОВЛЕНО
I не знаю почему, но он отлично работает в jsfiddle ... это точно такой же код, извлеченный из html и javascript.
ум, обеспечивающий полный тестовый код с кодом? –
@ RokoC.Buljan - сделаем в одно мгновение – aspirinemaga
Обратите внимание, что '$ ('label', '#pricesGroup')' ничего не будет запускать, так как это неправильный селектор и не будет прикреплять к нему какое-либо действие. –