Я пытаюсь создать функцию, которая будет запускаться при focusin / focusout и показывать результат в <span>
, когда я ввожу данные в поля ввода.
Моя функция подготовки документов находится в <head>
, а код ниже - это вызов в теге скрипта после <body>
.
Вот снимок экрана: Это поля ввода и диапазон, который показывает результат
Код:
var $costPrice = parseInt($("#cost-price").val()); // Cost price <div>
var $markupPercentage = parseInt($("#markup-percentage").val()); // Markup <div>
var $sellingPrice = ($markupPercentage / 100) * $costPrice + $costPrice;
var $finalPrice = $("#final-price"); // This <span> tag that receive the result of $sellingPrice
function showPrice($sellingPrice, $finalPrice){
if ($sellingPrice !== null) {
$finalPrice.html("$" + $sellingPrice);
} else {
$finalPrice.html("$0"); // Here I want to replace Nan by $0
}
};
$costPrice.focusout(showPrice); // I want to trigger/show the result.
$markupPercentage.focusout(showPrice); // I want to trigger/show the result.
Если я ввожу значение во входные данные и запускаю этот код ниже в консоли, он работает. Но это не интерактивно. Я бы хотел получить тот же результат, но в полях ввода focusin / focusout.
var $costPrice = parseInt($("#cost-price").val()); // Cost price <div>
var $markupPercentage = parseInt($("#markup-percentage").val()); // Markup <div>
var $sellingPrice = ($markupPercentage / 100) * $costPrice + $costPrice;
var $finalPrice = $("#final-price").html("$" + $sellingPrice);
Спасибо за помощь !