r42utils (0.1.11) | 2010-08-14 20:05 |
絞り込み選択リストボックス(NarrowDownSeletionList.js)です。
このスクリプトは、同梱のUtils.jsが予めロード済みであることを前提としています。
NarrowDownSeletionListは1つの必須パラメータを要求します。
以下のパラメータはオプションです。
(*1) 最末端レベルの初期値のみ指定できます。途中のレベルでの初期値の指定はできません。
(*2) 選択肢が一つしかない場合、自動で選択状態にしておく機能。
絞り込みリストを表現するデータ構造は次のとおりです。
キー値"@"にメタデータを入れ、それ以外のエントリはリスト構造を表す再帰的木構造を成します。
具体例は次のサンプルコードを参照してください。
- <html>
- <head>
- <script src="./Utils.js"></script>
- <script src="./NarrowDownSelectionList.js"></script>
- </head>
- <body>
- <form method="post" action="http://localhost:8080/">
- <div id="sample"></div>
- <input type="submit" value="確認" />
- </form>
- </body>
- <script>
- var ndsl = new NarrowDownSelectionList(document);
- ndsl.setListItems({
- "グループA": {
- "@": { "name": "lvl1", "value": "A" },
- "グループA-1": {
- "@": { "name": "lvl2", "value": "A1" },
- "グループA-1-0": {
- "@": { "name": "lvl3", "value": "A10" }
- },
- "グループA-1-1": {
- "@": { "name": "lvl3", "value": "A11" }
- },
- "グループA-1-2": {
- "@": { "name": "lvl3", "value": "A12" }
- }
- },
- "グループA-2": {
- "@": { "name": "lvl2", "value": "A2" },
- "グループA-2-0": {
- "@": { "name": "lvl3", "value": "A20" }
- },
- "グループA-2-1": {
- "@": { "name": "lvl3", "value": "A21" }
- },
- "グループA-2-2": {
- "@": { "name": "lvl3", "value": "A22" }
- }
- }
- },
- "グループB": {
- "@": { "name": "lvl1", "value": "B" },
- "グループB-1": {
- "@": { "name": "lvl2", "value": "B1" },
- "グループB-1-0": {
- "@": { "name": "lvl3", "value": "B10" }
- },
- "グループB-1-1": {
- "@": { "name": "lvl3", "value": "B11" }
- },
- "グループB-1-2": {
- "@": { "name": "lvl3", "value": "B12" }
- }
- },
- "グループB-2": {
- "@": { "name": "lvl2", "value": "B2" },
- "グループB-2-0": {
- "@": { "name": "lvl3", "value": "B20" }
- },
- "グループB-2-1": {
- "@": { "name": "lvl3", "value": "B21" }
- },
- "グループB-2-2": {
- "@": { "name": "lvl3", "value": "B22" }
- }
- }
- }
- });
- // 初期値を復元する場合はこちら
- //ndsl.setInitialValue("A21");
- var select = ndsl.createNarrowDownSelectListElement();
- document.getElementById("sample").appendChild(select);
- </script>
- </html>
[PageInfo]
LastUpdate: 2010-08-14 20:13:49, ModifiedBy: takahashikzn
[Permissions]
view:all, edit:members, delete/config:members