#javascript #jquery #jquery-plugins #jquery-templates
#javascript #jquery #jquery-плагины #jquery-шаблоны
Вопрос:
Я хотел бы манипулировать значениями в шаблоне jQuery, возможно, с помощью встроенного выражения или функции. У меня возникли проблемы с выбором элементов в порядке получения их значений для выполнения этих задач. Вот код:
<td class="currency">
<span id="discounted_amount">${Globalize.format(DiscountAmount, "c2")}</span>
</td>
<td class="currency">
<span id="totalAmt">${Globalize.format(InvoiceAmount, "c2")}</span>
</td>
Я пытаюсь в основном оценить значение discounted_amount и, если есть значение, вычесть его из TotalAmt. Я хотел бы сделать это на клиенте, без каких-либо дальнейших вызовов ajax. Я видел несколько примеров этого, когда люди использовали {{if}} {{else}} {{/if}} или {{html somefunction();}}. У меня самого просто не было никакого успеха. Вот функция, которую я хотел бы вызвать, или аналогичная структура, основанная на том, что лучше всего подходит для реализации шаблона jquery.
function calculateDiscountedTotal() {
var discountedAmount = $('#discounted_amount').val();
var totalAmt = $('#total_amount').val();
var discountedTotal = function () {
return totalAmt - discountedAmount;
}
return discountedTotal();
}
Ответ №1:
Я не уверен, какую систему шаблонов вы используете, но, похоже, вам нужен текст элемента, а не значение. Значение зарезервировано для входных элементов.
var discountedAmount = parseInt($('#discountered_amount').text());
Ответ №2:
function calculateDiscountedTotal() {
var discountedAmount = parseInt( $('#discounted_amount').text());
var totalAmt = parseInt($('#totalAmt').text());
var discountedTotal = function () {
return totalAmt - discountedAmount;
}
return discountedTotal();
}
console.log(calculateDiscountedTotal());
});`enter code here`
Комментарии:
1. Я пробовал это, но поскольку он использует механизм шаблонов Jquery, как discountedAmount, так и TotalAmt возвращаются как NaN. Хотя спасибо за ответ.