ブログ

2021/12/29
【プリザンター】 第129回)「その他」を選択したときだけ入力できる枠の作り方2

「その他」選択時の入力欄

こんにちは、CCSの阿原です。

以前、このブログの第127回で「その他を選択したときだけ入力できる枠の作り方」をご紹介しました。
【プリザンター】 第127回)「その他」を選択したときだけ入力できる枠の作り方
こちらの場合は入力枠を非活性化する(枠は表示されているが入力はできない)ことで実現していますが、
今回は入力枠自体を表示させたり、非表示にしたりと、選択によって切り替える方法で実現してみたいと思います。

スクリプトを使って、「その他」を選択したら「その他の内容」を記入できる入力枠を表示し、それ以外を選択した場合は入力枠を非表示にします。

設定方法

使用するテーブルは、前回(第127回)と同じ構成になります。
記録テーブルを作成し、分類Aを「職業」、分類Bを「その他職業」で登録。
分類Aの選択肢は以下のようにしてください。
1,公務員
2,会社員
3,自営業
4,その他

ではさっそく、スクリプトを作成しましょう。
以下のスクリプトを作成して、出力先は「新規作成」と「編集」にのみチェックを入れてください。


$p.events.on_editor_load = function () {
if ($p.getControl('ClassA').val() === '4') {
$('#Results_ClassBField').show();
}else{
$('#Results_ClassBField').hide();
}
$(document).on('change', '#Results_ClassA', function () {
if ($p.getControl('ClassA').val() === '4') {
$('#Results_ClassBField').show();
}else{
$('#Results_ClassBField').hide();
}
});
}


2~6行目は、初期値として、職業が「その他(=4)」の時は、「その他職業」の入力欄が表示され、それ以外の時は非表示になるようにしています。
「その他職業」のフィールド(タイトル+入力欄)ごと変化させたいため、「Results_ClassB」ではなく「Results_ClassBField」を対象として表示(show)・非表示(hide)を設定しています。
7行目以降で、「職業」の部分に変更があったことをトリガに「その他職業」を表示か非表示にする判定をしています。

実際に操作すると以下のような表示になります。

<職業:公務員を選択>

その他職業の入力欄非表示

<職業:その他を選択>



まとめ

さて、いかがでしたか?

トリガや非表示にする対象を変えることで、やりたいことに応じてカスタマイズが可能です。
ぜひ一度お試しください。

導入の支援、スクリプト開発などでお困りの場合は、当社で支援もいたします。プリザンター逆引き辞典PDF版やスタイル・スクリプトサンプル集PDF版の販売もしております!

☆☆ブログ内容への質問や追加説明をご希望の方は
【問い合わせフォーム】 こちら からお気軽にお問い合わせください☆☆

PAGE TOP