Как запросить идентификатор элемента dom с помощью шаблона jQuery?

#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. Хотя спасибо за ответ.