そのため、FormatCurrency という Jquery プラグインを使用して (これは明らかなはずです)、一部の数値を通貨形式でフォーマットしています。jQuery 関数は、数値の最初の行ではうまく機能していますが、2 行目にはいくつかの問題があります。
私が最初に何をしているのかを説明しましょう:
ツリーをクリックして行を展開すると、選択したいツリーがさらに 2 つの行 Capital と Expense を開きます。jQuery は資本行でうまく機能し、フォーマットが使用され、行は 123456 から $123,456 に変更されますが、経費行は変更されません。
また、異なる数字で別の行を展開する場合など、別の領域をクリックすると、Expense 行が formatCurrency スタイルの変更を受け入れることもわかりました。したがって、Jqueryは機能しています。別の行をクリックするまでスタイルの変更が完了していません。最初にクリックした元の行に戻ると、スタイルの変更は経費行のみで再び削除されます。これがすべて理にかなっていることを願っています。以下にコードを投稿しました。頻繁に確認する予定ですので、問題の解決に役立つ質問があればお気軽にお尋ねください。ご協力ありがとうございました!
pa_click = function (pa_label) {
PA_ID = pa_label.getAttribute('pa_id');
var pa_details = document.getElementById('pa-details-' + PA_ID);
jQuery.getJSON('@Url.Action("getAjaxSCs")', { PA: pa_label.title }, function (SCS) {
pa_details.innerHTML = "";
jQuery.each(SCS, function (index, SC) {
months_html = '';
jQuery('.currency').formatCurrency({
colorize: true,
roundToDecimalPlace: -2,
});
for (var i = 0; i < 12; i++) {
index = index.replace(/\s/g, "-");
months_html +=
'<div id="SC-' + index + '-' + months[i] + '" class="month-wrapper tree border-white currency">' + // This is where I add the currency class
SC[i] + // This is the variable I need to replace with code to add currency to the amount
'</div>';
}
pa_details.innerHTML +=
'<div id ="Spend-Category-' + index + '" class="sc-wrapper tree border">' +
'<div id ="sc-title-' + index + '" class="sc-title">' +
'<div class = "sc-label" title = "' + index + '" SC_id="' + index + '" onclick = "sc_click(this)">' + index + '</div>' +
months_html +
'</div>' +
'<div id="sc-details-' + index + '" class = "pa-details" style = "display:none">' + index + '</div>' +
'</div>';
})
});
jQuery('#pa-details-' + PA_ID).toggle('fast');
};