# モバイルでラジオボタンの条件によってフィールドを非表示にする

**URL:** https://community.cybozu.dev/t/topic/7725
**Category:** kintone 開発相談
**Created:** [2023 年 7 月 4 日午前 8:00 UTC](https://community.cybozu.dev/t/topic/7725 "2023-07-04T08:00:41Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![seaflour](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/seaflour/32/1958_2.png) [@seaflour](https://community.cybozu.dev/u/seaflour)
#### Post date: [2023 年 7 月 4 日午前 8:00 UTC](https://community.cybozu.dev/t/topic/7725/1 "2023-07-04T08:00:41Z")

</div>

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

モバイルでラジオボタン”フィールドコード：設定1”と”フィールドコード：設定2”のどちらかまたはどちらも有に  
なっていたら設定内容を表示したいです。

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

以下のコードを追加し  
設定1・設定2のどちらも有にしてから片方を無にすると設定内容フィールドが非表示になってしまします。

```javascript
/*
* 回答の条件によって別フィールドの表示/非表示を切り替える
*/
(() => {
  'use strict';

 

  // レコードの追加、編集、詳細画面で適用する
  const events = ['mobile.app.record.detail.show',
    'mobile.app.record.create.show',
    'mobile.app.record.create.change.設定1',
    'mobile.app.record.create.change.設定2',
    'mobile.app.record.edit.show',
    'mobile.app.record.edit.change.設定1',
    'mobile.app.record.edit.change.設定2'];

  kintone.events.on(events, (event) => {

    const record = event.record;

    // 設定1で有を選択された場合は「設定内容」フィールドを表示をする
    if (record.設定1.value === '有') {
      kintone.mobile.app.record.setFieldShown('設定内容', true);
    } else 
 // 設定2で有を選択された場合は「設定内容」フィールドを表示をする
    if (record.設定2.value === '有') {
      kintone.mobile.app.record.setFieldShown('設定内容', true);
    } else {
      // 「無」の場合は非表示
      kintone.mobile.app.record.setFieldShown('設定内容', false);
    }
  });
})();

```

---

<div class="post-metadata">

### Author: ![mura](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/mura/32/41_2.png) [@mura](https://community.cybozu.dev/u/mura)
#### Post date: [2023 年 7 月 4 日午後 10:51 UTC](https://community.cybozu.dev/t/topic/7725/2 "2023-07-04T22:51:12Z")

</div>

> 設定1・設定2のどちらも有にしてから片方を無にすると設定内容フィールドが非表示になってしまします。

言い換えると、複数の条件がある、ということなので、ifもそれに即した形にするのはどうでしょうか？

```javascript
    // 設定1か2で有を選択された場合は「設定内容」フィールドを表示をする
    if (record.設定1.value === '有' || record.設定2.value === '有') {
      kintone.mobile.app.record.setFieldShown('設定内容', true);
    } else 
      // いずれも「無」の場合は非表示
      kintone.mobile.app.record.setFieldShown('設定内容', false);
    }

  return event; // ← おまけですがreturn eventもしてあげるのが理想です

```

---

<div class="post-metadata">

### Author: ![seaflour](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/seaflour/32/1958_2.png) [@seaflour](https://community.cybozu.dev/u/seaflour)
#### Post date: [2023 年 7 月 5 日午前 12:42 UTC](https://community.cybozu.dev/t/topic/7725/3 "2023-07-05T00:42:42Z")

</div>

mura様  
返信ありがとうございます。  
早速実行しましたところ無事うまく実現いたしました！  
return eventの件も大変参考になりました。  
ありがとうございました。

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)
#### Post date: [2023 年 9 月 27 日午前 6:34 UTC](https://community.cybozu.dev/t/topic/7725/4 "2023-09-27T06:34:17Z")

</div>

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