新規投稿
フォローする

ラジオボタンで選択した時刻とその前後の時刻のグループフィールドを表示させたい

ラジオボタンで選択した時刻のグループフィールドのみを開いて表示させることにはなんとか成功したのですが、選択した時刻と前後の時刻を表示させようとした際にうまくいかなかった為、今回投稿致しました。

 

やりたいこととしましては

仮にラジオボタンで「11時」を選択した場合、

10時、11時、12時のグループフィールドが表示され、選択した11時のグループフィールドだけ開いており、10時、12時は表示はされているがグループフィールドは閉じている状態にしたいです。(12時を選択した場合は11時、12時、13時が表示され、12時のグループフィールドのみ開いている。13時の場合は12時、13時、14時...etc)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

ラジオボタンで選択した時刻のみを表示&開く場合は以下で切り替えが出来たのですが、

switch (radioButtonValue) {
  case "11時":
kintone.app.record.setFieldShown('グループ_0', true);
kintone.app.record.setGroupFieldOpen('グループ_0', true);
break;
case "12時":
kintone.app.record.setFieldShown('グループ_1', true);
kintone.app.record.setGroupFieldOpen('グループ_1', true);
break;
case "13時":
kintone.app.record.setFieldShown('グループ_2', true);
kintone.app.record.setGroupFieldOpen('グループ_2', true);
break;

-------------------------------------------------------------------------------------

今回、表示させる対象を増やしたところ全く機能しなくなりました。

switch (radioButtonValue) {
case "11時":
kintone.app.record.setFieldShown('グループ', true);
kintone.app.record.setFieldShown('グループ_0', true);
kintone.app.record.setFieldShown('グループ_1', true);
kintone.app.record.setGroupFieldOpen('グループ_0', true);
break;
case "12時":
kintone.app.record.setFieldShown('グループ_0', true);
kintone.app.record.setFieldShown('グループ_1', true);
kintone.app.record.setFieldShown('グループ_2', true);
kintone.app.record.setGroupFieldOpen('グループ_1', true);
break;
case "13時":
kintone.app.record.setFieldShown('グループ_1', true);
kintone.app.record.setFieldShown('グループ_2', true);
kintone.app.record.setFieldShown('グループ_3', true);
kintone.app.record.setGroupFieldOpen('グループ_2', true);
break;

-------------------------------------------------------------------------------------

どなたか原因がわかる方いらっしゃいましたら教えて頂けると助かります。

0

4件のコメント

Avatar
しぶい

スガワショウタ さん

記述しているソースコードは記述通りの動作はしました。
非表示にするための処理やグループフィールドを閉じるための処理が記述されていないように見受けられます。
ラジオボタンの各値のときに非表示にする、グループを閉じる処理を記述してみてください。

1
Avatar
スガワショウタ

しぶいさん

コメント頂きありがとうございます。

上記のコマンドは一部を切り抜いたものでして、上記のコマンドより前の部分に

kintone.app.record.setFieldShown('グループ', false);

kintone.app.record.setGroupFieldOpen('グループ', false);

を用いて、ラジオボタンの値の数分、既に記述している状態となります。

分かりづらく申し訳ありません。

 

ソースコードは問題無いとのことでしたので、

別の部分で原因が無いかを探ってみようと思います。

0
Avatar
しぶい

スガワショウタ さん

スミマセン、少し言葉足らずでした。
前回の回答では、switch文内での処理で各ラジオボタン選択時にグループフィールドを非表示にするための処理や閉じるための処理がない旨の意味となっております。

ラジオボタンの値選択時に他のグループフィールドを非表示にする、閉じるにはその処理も記述する必要があります。

例えば、11時を選択した場合は
   10時、11時、12時は表示、それ以外は非表示
   10時、12時は閉じる、11時は開く

上記の処理を記述する必要がございます。

ちなみに、記述通りの動作 というのも、エラーは出てないという旨の意味です。紛らわしい言い方をしてしまい、申し訳ないです...

しぶいにより編集されました
1
Avatar
スガワショウタ

しぶい さん

ご返答遅くなり申し訳ございません。

私にスクリプト適応の権限が無いため、実際に適応してもらうまでに時間がかかってしまいました。

 

しぶいさんのご指摘の通りにswitch文内で閉じる処理を記述したところ、

無事スクリプトが動きました。

この度は本当にありがとうございました!!

0
サインインしてコメントを残してください。