2.1.41. readonly 項目切替えイベントアクション

readonly 項目切替えイベントアクション は、 チェックボックス・ラジオボタン・プルダウン要素の選択状態に応じて、 特定の要素の readonly 属性値を動的に切替えるイベントアクションである。

2.1.41.1. コードサンプル

以下のソースコード例では、ある入力項目のグループについて、 その readonly属性を、一括で切り替えるラジオボタンを実装する例である。

<n:form>
  <event:listen
    event="input[type='radio'].editProfile click">
    <event:toggle_readonly
      condition="[value='edit']"
      reverse="true"
      toggleTarget="div.profile :input:not('.editProfile')">
    </event:toggle_readonly>
  </event:listen>

  ... (中略) ...

</n:form>

2.1.41.2. 仕様

このアクションを実行するイベントは ページ内イベント定義 (もしくは サブウィンドウ内イベント定義 ) を用いて定義する必要がある。

このアクションが実行されると、まず、イベントの発生元要素が condition 属性の セレクタにマッチするかをチェックする。

マッチした場合、このタグと同じ <event:listen> タグ内に存在し、 target 属性のセレクタにマッチする全ての要素の readonly 属性を設定する。 設定する値は、イベントの発生元要素の選択状態に一致するが reverse 属性が true であった場合のその逆の値を設定する。

マッチしなかった場合、読取専用を解除する(reverse属性がtrueの場合、読取専用にする)。

属性値一覧 [ 必須属性 任意属性 × 無効(指定しても効果なし)]

名称 内容 タイプ サーバ ローカル 備考
title 実行する処理の簡単な説明 文字列 × × 設計書表示用
target 属性を切替える対象要素 を指定するセレクタ式 文字列  
condition 本アクションを実行する事前条件。 イベント発生元要素が満たすべき セレクタ式の形式で指定する。 文字列

補足

ローカルレンダリングではvalue属性が 利用できないので動作しない。

reverse イベント発生元要素の選択状態を 反転した値をreadonly属性に設定 する。 真偽値 デフォルトはfalse

2.1.41.3. 内部構造・改修時の留意点

本ウィジェットは以下のファイルによって実装されている。

部品一覧

パス 内容
/WEB-INF/tags/widget/event/toggle_readonly.tag このウィジェットの実体となるタグファイル
/js/nablarch/ui/event/TogglePropertyAction.js 属性値の切替え機能を実装するイベントアクション