ラジオボタンの選択によって出し分けたい。

何を実現したいのかを書きましょう

ラジオボタンフィールド「種別」(土地/建物/マンション)の選択によってほかのフィールドの出し分けをしたいと思っております。

発生した問題やエラーメッセージを具体的に書きましょう

を参考にさせていただき、下記のコードを入れてみたのですが、「マンション」の場合のものしか現状動いておりません。初歩的な質問で申し訳ございませんが、原因お分かりになる方ご教授お願いいたします。

実行したコードをコピー&ペーストしましょう

(() => {
  "use strict";

  // レコードの追加、編集、詳細画面で適用する
  const events = [
    "app.record.detail.show",
    "app.record.create.show",
    "app.record.create.change.種別",
    "app.record.create.change.地目",
    "app.record.edit.show",
    "app.record.edit.change.種別",
    "app.record.edit.change.地目",
  ];

  kintone.events.on(events, (event) => {
    const record = event.record;

    /* 「地目」でなにも選択されていなかった場合は「その他」フィールドを表示しない*/
    const 地目 = record.地目.value;
    if (地目.length === 0) {
      kintone.app.record.setFieldShown("その他", false);
    }

    /* 「地目」で「その他」が選択された場合は「その他」フィールドを表示する*/
    for (let i = 0; i < 地目.length; i++) {
      if (地目[i] === "その他") {
        kintone.app.record.setFieldShown("その他", true);
      } else {
        kintone.app.record.setFieldShown("その他", false);
      }
    }

    /*「土地」の場合は表示*/
    if (record.種別.value === "土地") {
      kintone.app.record.setFieldShown("実測_土地", true);
      kintone.app.record.setFieldShown("公簿_土地", true);
      kintone.app.record.setFieldShown("地目", true);
      kintone.app.record.setFieldShown("権利内容", true);
    } else {
      /*「土地」以外の場合は非表示*/
      kintone.app.record.setFieldShown("建築面積_建物", false);
      kintone.app.record.setFieldShown("種類_建物", false);
      kintone.app.record.setFieldShown("間取り_建物", false);
      kintone.app.record.setFieldShown("延面積_建物", false);
      kintone.app.record.setFieldShown("構造_建物", false);
      kintone.app.record.setFieldShown("構造_2_建物", false);
      kintone.app.record.setFieldShown("構造_3_建物", false);
      kintone.app.record.setFieldShown("名称_マンション", false);
      kintone.app.record.setFieldShown("名称_2_マンション", false);
      kintone.app.record.setFieldShown("名称_3_マンション", false);
      kintone.app.record.setFieldShown("構造_マンション", false);
      kintone.app.record.setFieldShown("構造_2_マンション", false);
      kintone.app.record.setFieldShown("タイプ_マンション", false);
      kintone.app.record.setFieldShown("タイプ_2_マンション", false);
      kintone.app.record.setFieldShown("専有面積_マンション", false);
      kintone.app.record.setFieldShown("共有持分_マンション", false);
    }

    /*「建物」の場合は表示*/
    if (record.種別.value === "建物") {
      kintone.app.record.setFieldShown("建築面積_建物", true);
      kintone.app.record.setFieldShown("種類_建物", true);
      kintone.app.record.setFieldShown("間取り_建物", true);
      kintone.app.record.setFieldShown("延面積_建物", true);
      kintone.app.record.setFieldShown("構造_建物", true);
      kintone.app.record.setFieldShown("構造_2_建物", true);
      kintone.app.record.setFieldShown("構造_3_建物", true);
    } else {
      /*「建物」以外の場合は非表示*/
      kintone.app.record.setFieldShown("実測_土地", false);
      kintone.app.record.setFieldShown("公簿_土地", false);
      kintone.app.record.setFieldShown("地目", false);
      kintone.app.record.setFieldShown("権利内容", false);
      kintone.app.record.setFieldShown("名称_マンション", false);
      kintone.app.record.setFieldShown("名称_2_マンション", false);
      kintone.app.record.setFieldShown("名称_3_マンション", false);
      kintone.app.record.setFieldShown("構造_マンション", false);
      kintone.app.record.setFieldShown("構造_2_マンション", false);
      kintone.app.record.setFieldShown("タイプ_マンション", false);
      kintone.app.record.setFieldShown("タイプ_2_マンション", false);
      kintone.app.record.setFieldShown("専有面積_マンション", false);
      kintone.app.record.setFieldShown("共有持分_マンション", false);
    }

    /*「マンション」の場合は表示*/
    if (record.種別.value === "マンション") {
      kintone.app.record.setFieldShown("名称_マンション", true);
      kintone.app.record.setFieldShown("名称_2_マンション", true);
      kintone.app.record.setFieldShown("名称_3_マンション", true);
      kintone.app.record.setFieldShown("構造_マンション", true);
      kintone.app.record.setFieldShown("構造_2_マンション", true);
      kintone.app.record.setFieldShown("タイプ_マンション", true);
      kintone.app.record.setFieldShown("タイプ_2_マンション", true);
      kintone.app.record.setFieldShown("専有面積_マンション", true);
      kintone.app.record.setFieldShown("共有持分_マンション", true);
    } else {
      /*「マンション」以外の場合は非表示*/
      kintone.app.record.setFieldShown("実測_土地", false);
      kintone.app.record.setFieldShown("公簿_土地", false);
      kintone.app.record.setFieldShown("地目", false);
      kintone.app.record.setFieldShown("権利内容", false);
      kintone.app.record.setFieldShown("建築面積_建物", false);
      kintone.app.record.setFieldShown("種類_建物", false);
      kintone.app.record.setFieldShown("間取り_建物", false);
      kintone.app.record.setFieldShown("延面積_建物", false);
      kintone.app.record.setFieldShown("構造_建物", false);
      kintone.app.record.setFieldShown("構造_2_建物", false);
      kintone.app.record.setFieldShown("構造_3_建物", false);
    }

    return event;
  });
})();

条件が2つ以上のときはelse ifを使うといいです。
下記コードを試してください。
最後のelseより下段のkintone.app.record.setFieldShownの項目は特に設定は必要ないと思いますが、
ラジオボタンの項目が増えたときには書き換えてあげてください。

(() => {
  "use strict";

  // レコードの追加、編集、詳細画面で適用する
  const events = [
    "app.record.detail.show",
    "app.record.create.show",
    "app.record.create.change.種別",
    "app.record.create.change.地目",
    "app.record.edit.show",
    "app.record.edit.change.種別",
    "app.record.edit.change.地目"
  ];

  kintone.events.on(events, (event) => {
    const record = event.record;

    /* 「地目」でなにも選択されていなかった場合は「その他」フィールドを表示しない*/
    const 地目 = record.地目.value;
    if (地目.length === 0) {
      kintone.app.record.setFieldShown("その他", false);
    }

    /* 「地目」で「その他」が選択された場合は「その他」フィールドを表示する*/
    for (let i = 0; i < 地目.length; i++) {
      if (地目[i] === "その他") {
        kintone.app.record.setFieldShown("その他", true);
      } else {
        kintone.app.record.setFieldShown("その他", false);
      }
    }

    
    if (record.種別.value === "土地") {
        /*「土地」の場合は表示*/
      kintone.app.record.setFieldShown("実測_土地", true);
      kintone.app.record.setFieldShown("公簿_土地", true);
      kintone.app.record.setFieldShown("地目", true);
      kintone.app.record.setFieldShown("権利内容", true);
      /*「土地」以外の項目は非表示*/
      kintone.app.record.setFieldShown("建築面積_建物", false);
      kintone.app.record.setFieldShown("種類_建物", false);
      kintone.app.record.setFieldShown("間取り_建物", false);
      kintone.app.record.setFieldShown("延面積_建物", false);
      kintone.app.record.setFieldShown("構造_建物", false);
      kintone.app.record.setFieldShown("構造_2_建物", false);
      kintone.app.record.setFieldShown("構造_3_建物", false);
      kintone.app.record.setFieldShown("名称_マンション", false);
      kintone.app.record.setFieldShown("名称_2_マンション", false);
      kintone.app.record.setFieldShown("名称_3_マンション", false);
      kintone.app.record.setFieldShown("構造_マンション", false);
      kintone.app.record.setFieldShown("構造_2_マンション", false);
      kintone.app.record.setFieldShown("タイプ_マンション", false);
      kintone.app.record.setFieldShown("タイプ_2_マンション", false);
      kintone.app.record.setFieldShown("専有面積_マンション", false);
      kintone.app.record.setFieldShown("共有持分_マンション", false);
    } else if (record.種別.value === "建物"){
       /*「建物」の場合は表示*/
      kintone.app.record.setFieldShown("建築面積_建物", true);
      kintone.app.record.setFieldShown("種類_建物", true);
      kintone.app.record.setFieldShown("間取り_建物", true);
      kintone.app.record.setFieldShown("延面積_建物", true);
      kintone.app.record.setFieldShown("構造_建物", true);
      kintone.app.record.setFieldShown("構造_2_建物", true);
      kintone.app.record.setFieldShown("構造_3_建物", true);
      /*「建物」以外の項目は非表示*/
      kintone.app.record.setFieldShown("実測_土地", false);
      kintone.app.record.setFieldShown("公簿_土地", false);
      kintone.app.record.setFieldShown("地目", false);
      kintone.app.record.setFieldShown("権利内容", false);
      kintone.app.record.setFieldShown("名称_マンション", false);
      kintone.app.record.setFieldShown("名称_2_マンション", false);
      kintone.app.record.setFieldShown("名称_3_マンション", false);
      kintone.app.record.setFieldShown("構造_マンション", false);
      kintone.app.record.setFieldShown("構造_2_マンション", false);
      kintone.app.record.setFieldShown("タイプ_マンション", false);
      kintone.app.record.setFieldShown("タイプ_2_マンション", false);
      kintone.app.record.setFieldShown("専有面積_マンション", false);
      kintone.app.record.setFieldShown("共有持分_マンション", false);
    } else if (record.種別.value === "マンション") {
     /*「マンション」の場合は表示*/
      kintone.app.record.setFieldShown("名称_マンション", true);
      kintone.app.record.setFieldShown("名称_2_マンション", true);
      kintone.app.record.setFieldShown("名称_3_マンション", true);
      kintone.app.record.setFieldShown("構造_マンション", true);
      kintone.app.record.setFieldShown("構造_2_マンション", true);
      kintone.app.record.setFieldShown("タイプ_マンション", true);
      kintone.app.record.setFieldShown("タイプ_2_マンション", true);
      kintone.app.record.setFieldShown("専有面積_マンション", true);
      kintone.app.record.setFieldShown("共有持分_マンション", true);
      /*「マンション」以外の項目は非表示*/
      kintone.app.record.setFieldShown("実測_土地", false);
      kintone.app.record.setFieldShown("公簿_土地", false);
      kintone.app.record.setFieldShown("地目", false);
      kintone.app.record.setFieldShown("権利内容", false);
      kintone.app.record.setFieldShown("建築面積_建物", false);
      kintone.app.record.setFieldShown("種類_建物", false);
      kintone.app.record.setFieldShown("間取り_建物", false);
      kintone.app.record.setFieldShown("延面積_建物", false);
      kintone.app.record.setFieldShown("構造_建物", false);
      kintone.app.record.setFieldShown("構造_2_建物", false);
      kintone.app.record.setFieldShown("構造_3_建物", false);
    } else {
      kintone.app.record.setFieldShown("実測_土地", false);
      kintone.app.record.setFieldShown("公簿_土地", false);
      kintone.app.record.setFieldShown("地目", false);
      kintone.app.record.setFieldShown("権利内容", false);
      kintone.app.record.setFieldShown("建築面積_建物", false);
      kintone.app.record.setFieldShown("種類_建物", false);
      kintone.app.record.setFieldShown("間取り_建物", false);
      kintone.app.record.setFieldShown("延面積_建物", false);
      kintone.app.record.setFieldShown("構造_建物", false);
      kintone.app.record.setFieldShown("構造_2_建物", false);
      kintone.app.record.setFieldShown("構造_3_建物", false);
      kintone.app.record.setFieldShown("名称_マンション", false);
      kintone.app.record.setFieldShown("名称_2_マンション", false);
      kintone.app.record.setFieldShown("名称_3_マンション", false);
      kintone.app.record.setFieldShown("構造_マンション", false);
      kintone.app.record.setFieldShown("構造_2_マンション", false);
      kintone.app.record.setFieldShown("タイプ_マンション", false);
      kintone.app.record.setFieldShown("タイプ_2_マンション", false);
      kintone.app.record.setFieldShown("専有面積_マンション", false);
      kintone.app.record.setFieldShown("共有持分_マンション", false);
    }

    return event;
  });
})();

早急にご教授いただきありがとうございます。
コード入れなおしたところしっかりと動いてくれました。
勉強させていただきありがとうございました。

「いいね!」 1

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。