先日公開しました、以下のスクリプト。
チェックボックスを選択すると、選択したチェック項目名を下段に表示する。
このスクリプトを、いつもいつもコメントやアドバイスを下さる”I様”が改良して
くださいました~~~ヽ(*´ω`)ノ゙ ワッチョーィ♪
冗長で無駄に長かった私のスクリプトが、驚くほどシンプルになっています!
今後役に立ちそうな構文?も盛り込まれていて、応用学習できそうです~。
わたくし、リアルnon-ITなもので、GASどころかjavascriptの基本から怪しいので、
たいそ~~うありがたや~~~です。
さて、前置きはここまでにして、今日はその改良版のスクリプトをご紹介します。
■改良版スクリプト
このように改良して下さいました。
(コピペ元 : https://gist.github.com/4049724)
先日のスクリプトは70行だったのが、42行になってすっきり♪
■紐解いてみる
このスクリプトの主な改良箇所を、non-IT女子レベルで紐解いてみました。
☆ 1~7行目 ☆

チェックボックスの項目名を配列の形式にして、変数checkBoxArrayに格納。
[a,b,c,・・・]で配列になるのですね、ふむふむ。
(補足 : globalとは?)
”function ***(){ ・・・}”の外側で定義する変数のことだそうです。
複数の”function”で共通して利用できるようになるそうです。
反対に、”function ***(){・・・}”の内側で定義する変数のことを、
localというそうです。そのfunctionの中でしか利用できないとのこと。
☆ 17~21行目 ☆

以下の処理を、変数checkBoxArrayの長さ分(=6回)繰り返す。
・チェックボックス作成
・チェックボックスの表示を変数checkBoxArrayのi番目にする
・チェックボックスの名前を”age+i”にする
・チェックボックスに”handler”を紐付ける
・checkboxContainerに上記のチェックボックスを追加する
・ラベルを作成(チェックボックス選択時の表示用)
・ラベルの表示を変数checkBoxArrayのi番目にする
・ラベルのIDを”age+i”にする
・ラベルを非表示にする
・infoboxに上記のラベル追加する
☆ 35~38行目 ☆

以下の処理を、変数checkBoxArrayの長さ分(=6回)繰り返す。
・”age+i”のチェックボックスが”true”(=選択されている)場合、
”info+i”のラベルを表示する
=== 'true' という書き方は面白いですね~~。
次の二つの構文をひとまとめにしているのでしょうか。因数分解みたいですね。
① (e.parameter["age"+i] == 'true')
② .setVisible = 'true'
ふぃ~、今日はここまで♪
■実際に試してみたい方へ
改良版のスクリプトも、以下のサイトに公開していま~す。
https://sites.google.com/a/mypleis.com/gas_mypleis/GAS_ALL/13_checkbox_realtime_v2
■予告編
次回も、I様からのコメント・アドバイスのご紹介と、それをベースにチェックボックスを
改造してみようと思います~♪
0 件のコメント:
コメントを投稿