nablarch.ui.AutoSum Class
自動集計機能
自動集計機能は、ユーザが入力した値をクライアントサイドで集計するためのUI機能である。
本機能では、テキストフィールドに入力された値を集計し合計欄に結果を出力する。 集計処理が行われるタイミングは、集計対象のテキストフィールドからフォーカスが外れたタイミングである。
※集計対象の入力欄の値が入力されているが数値以外の場合には、集計処理を行うことができないため計算結果はNaN(Not A Number)となる。 また、有効桁(15桁)を超える場合にもNaN(Not A Number)となる。
マークアップ仕様
本機能を使用する場合以下のマーカCSSを使用する。
- 合計値を出力する要素 - マーカCSSとして - nablarch_AutoSumを指定する。 自動集計対象のテキストフィールドは、- -targetオプションで指定する。
 (合計値は、テキストフィールド及びHTML要素のContent部に出力する事ができる。)
- 自動集計対象の要素 - 合計値を出力する要素の - -targetオプションで指定した値をマーカCSSとして指定する。- 加算する場合: - AutoSum_ + (-target オプションで指定した値)
 減算する場合:- AutoSum_ + (-target オプションで指定した値) + _negative
使用例
HTML
<!-- 合計値を出力するエリア -->
<!-- 集計対象の入力フィールドは、class属性に「target1」が指定されたものとなる -->
<span class="AutoSum -target target1"></span>
<!-- 集計対象の入力フィールド -->
<!-- 合計値出力エリアの「-target」で指定したクラス名を設定する。 -->
<input name="form.amount1" class="AutoSum_target1" size="15" maxlength="10">
<input name="form.amount2" class="AutoSum_target1" size="15" maxlength="10">
<!-- 末尾に_negativeが付加されているので、この項目だけは集計時に減算される -->
<input name="form.amount3" class="AutoSum_target1_negative" size="15" maxlength="10">JSP
この実装例では、以下2種類の自動集計が行われる。
- 金額1-1から金額1-3の合計が合計1に出力される。
- 金額2-1と金額2-2の合計が合計2に出力される。
 (金額2-2には、減算のマーカCSSが指定されているため、金額2-1から金額2-2を引いた値が出力される。)
<div class="field">
  <label>金額1-1:</label>
  <n:text name="W99ZZ5.amount1_1" id="amount1_1" maxlength="20" cssClass="AutoSum_target1" />
  <n:error name="W99ZZ5.amount1_1" />
</div>
<div class="field">
  <label>金額1-2:</label>
  <n:text name="W99ZZ5.amount1_2" id="amount1_2" maxlength="20" cssClass="AutoSum_target1" />
  <n:error name="W99ZZ5.amount1_2" />
</div>
<div class="field">
  <label>金額1-3:</label>
  <n:text name="W99ZZ5.amount1_3" id="amount1_3" maxlength="20" cssClass="AutoSum_target1" />
  <n:error name="W99ZZ5.amount1_3" />
</div>
<div class="field">
  <label>合計1:</label>
  <span class="nablarch_AutoSum -target target1" id="autoSum1"><n:write name="W99ZZ5.totalAmount1" valueFormat="decimal{#,###.##}" /></span>
</div>
<div class="field">
  <label>金額2-1:</label>
  <n:text name="W99ZZ5.amount2_1" id="amount2_1" maxlength="20" cssClass="AutoSum_target2" />
  <n:error name="W99ZZ5.amount2_1" />
</div>
<div class="field">
  <label>金額2-2:</label>
  <n:text name="W99ZZ5.amount2_2" id="amount2_2" maxlength="20" cssClass="AutoSum_target2_negative" />
  <n:error name="W99ZZ5.amount2_2" />
</div>
<div class="field">
  <label>合計2:</label>
  <n:text id="autoSum2" cssClass="nablarch_AutoSum -target target2" name="W99ZZ5.totalAmount2" valueFormat="decimal{#,###.##}" disabled="true" />
</div>Item Index
Properties
- $element
- $negativeTarget
- $target
- event static
- widgetType static
Methods
AutoSum
    
        - 
                    
                        element
- 
                    
                        opt
コンストラクタ。
Parameters:
- 
                    
                        elementElement集計結果を出力するエリアのDOMノード 
- 
                    
                        optObjectオプションを格納したオブジェクト 
 target: (String) 集計対象の入力フィールドのクラス名
Returns:
インスタンス
sum
    
        - 
                    
                        event
集計処理を行う。
集計対象の要素から値を取得し、合計値をカンマ編集し出力する。
Parameters:
- 
                    
                        eventjQuery.Eventイベント(使用しない) 
Properties
$element
    JQuery
    
    
    
    
    
    集計結果を出力する要素
$negativeTarget
    JQuery
    
    
    
    
    
    減算対象の入力フィールド
$target
    JQuery
    
    
    
    
    
    加算対象の入力フィールド
event
    Object
    
    
    
        final
    
    
        static
    
    
    イベント定義
AutoSum.event = {
  "$target focusout":"sum",
  "$negativeTarget focusout":"sum"
  "$target nablarch_value_change" : "sum",
  "$negativeTarget nablarch_value_change":"sum"
};widgetType
    String
    
    
    
        final
    
    
        static
    
    
    ウィジェット識別子
Default: "nablarch_AutoSum"
