# 回答の条件によって別フィールドの表示/非表示を切り替える　について

**URL:** https://community.cybozu.dev/t/topic/2167
**Category:** kintone 開発相談
**Created:** [2015 年 8 月 20 日午前 7:08 UTC](https://community.cybozu.dev/t/topic/2167 "2015-08-20T07:08:01Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![Legacy\_Account1624](https://avatars.discourse-cdn.com/v4/letter/l/ee59a6/32.png) [@Legacy\_Account1624](https://community.cybozu.dev/u/Legacy_Account1624)
#### Post date: [2015 年 8 月 20 日午前 7:08 UTC](https://community.cybozu.dev/t/topic/2167/1 "2015-08-20T07:08:01Z")

</div>

初歩的な質問で申し訳ないのですが、どこを修正すればうまく稼働するのかがわからず困っています。  
お知恵をお貸しいただけないでしょうか？

「回答の条件によって別フィールドの表示/非表示を切り替える」のサンプルを使って  
ドロップダウンの回答結果で別フィールドの表示/非表示がしたいと考えています。

サンプルアプリを使って、そのままjsをアップロードした場合はうまくいくのですが  
別アプリで  
ドロップボックス（keiyaku）が年間契約の場合は（keiyakukaisuu）を表示する  
という指示が出来ません。

```
//契約書で「年間契約」が選択された場合は「契約回数」フィールドを表示する
    for(var i=0; i < keiyaku.length; i++){
        if(keiyaku[i] == '年間契約'){
            kintone.app.record.setFieldShown('keiyakukaisuu',true);
        }else{
            kintone.app.record.setFieldShown('keiyakukaisuu',false);
     }

```

どこをどうすればいいのでしょうか？

---

<div class="post-metadata">

### Author: ![Legacy\_Account2115](https://avatars.discourse-cdn.com/v4/letter/l/e9bcb4/32.png) [@Legacy\_Account2115](https://community.cybozu.dev/u/Legacy_Account2115)
#### Post date: [2015 年 8 月 20 日午前 7:34 UTC](https://community.cybozu.dev/t/topic/2167/2 "2015-08-20T07:34:41Z")

</div>

Yoshimi Nagao さん  
cstapの瀧ヶ平です。

コードを見ると

else{  
kintone.app.record.setFieldShown(‘keiyakukaisuu’,false);

のあとに}が不足しているようです。  
修正すれば動くかと思います。

---

<div class="post-metadata">

### Author: ![Legacy\_Account1624](https://avatars.discourse-cdn.com/v4/letter/l/ee59a6/32.png) [@Legacy\_Account1624](https://community.cybozu.dev/u/Legacy_Account1624)
#### Post date: [2015 年 8 月 20 日午前 7:59 UTC](https://community.cybozu.dev/t/topic/2167/3 "2015-08-20T07:59:36Z")

</div>

＞cstapの瀧ヶ平さま

ありがとうございます★  
が、動きませんでした（泣）

すいません。全部載せちゃいます。  
何か抜けてますかね．．？

/\*  
\* 回答の条件によって別フィールドの表示/非表示を切り替えるサンプルプログラム  
\* Copyright (c) 2014 Cybozu  
\*  
\* Licensed under the MIT License  
\*/

(function() {  
“use strict”;

```
//レコードの追加、編集、詳細画面で適用する
var events = ['app.record.detail.show',
              'app.record.create.show',
              'app.record.create.change.keiyaku',
              'app.record.create.change.keiyakukaisuu',
              'app.record.edit.show',
              'app.record.edit.change.keiyaku',
              'app.record.edit.change.keiyakukaisuu',]

kintone.events.on(events, function(event) {

    var record = event.record;

    //契約書で「年間契約」が選択された場合は「契約回数・開始日・値引率・掲載金額（年契）」フィールドを表示する
    for(var i=0; i < keiyaku.length; i++){
        if(keiyaku[i] == '年間契約'){
            kintone.app.record.setFieldShown('keiyakukaisuu',true);
        }else{
            kintone.app.record.setFieldShown('keiyakukaisuu',false);
     }
});

```

})();

---

<div class="post-metadata">

### Author: ![Legacy\_Account2115](https://avatars.discourse-cdn.com/v4/letter/l/e9bcb4/32.png) [@Legacy\_Account2115](https://community.cybozu.dev/u/Legacy_Account2115)
#### Post date: [2015 年 8 月 20 日午前 8:20 UTC](https://community.cybozu.dev/t/topic/2167/4 "2015-08-20T08:20:14Z")

</div>

Yoshimi Nagao さん

ドロップボックスとはドロップダウンのことでしょうか？  
だとすれば

```
for(var i=0; i < keiyaku.length; i++){
        if(keiyaku[i] == '年間契約'){
            kintone.app.record.setFieldShown('keiyakukaisuu',true);
        }else{
            kintone.app.record.setFieldShown('keiyakukaisuu',false);
     }

```

の部分を

```
if(keiyaku == '年間契約'){
            kintone.app.record.setFieldShown('keiyakukaisuu',true);
        }else{
            kintone.app.record.setFieldShown('keiyakukaisuu',false);
     }

```

とすれば良いと思います。

---

<div class="post-metadata">

### Author: ![Legacy\_Account1624](https://avatars.discourse-cdn.com/v4/letter/l/ee59a6/32.png) [@Legacy\_Account1624](https://community.cybozu.dev/u/Legacy_Account1624)
#### Post date: [2015 年 8 月 21 日午前 12:51 UTC](https://community.cybozu.dev/t/topic/2167/5 "2015-08-21T00:51:26Z")

</div>

瀧ヶ平さま

おはようございますー。  
あー！また、間違えてしまいました。  
いっつもドロップボックスを使ってるからか、ドロップダウンをすぐ言い間違いしてしまいます．．(・\_・😉

ありがとうございます。  
試してみます！

---

<div class="post-metadata">

### Author: ![Legacy\_Account1624](https://avatars.discourse-cdn.com/v4/letter/l/ee59a6/32.png) [@Legacy\_Account1624](https://community.cybozu.dev/u/Legacy_Account1624)
#### Post date: [2015 年 8 月 26 日午前 5:59 UTC](https://community.cybozu.dev/t/topic/2167/6 "2015-08-26T05:59:10Z")

</div>

瀧ヶ平さま

おっそい返答ですが、やってみました。  
ですが、反応せずでした．．。  
何か根本的に間違っているのかもしれません。

もう少し頑張ってみます。

---

<div class="post-metadata">

### Author: ![Legacy\_Account2115](https://avatars.discourse-cdn.com/v4/letter/l/e9bcb4/32.png) [@Legacy\_Account2115](https://community.cybozu.dev/u/Legacy_Account2115)
#### Post date: [2015 年 8 月 26 日午前 6:07 UTC](https://community.cybozu.dev/t/topic/2167/7 "2015-08-26T06:07:57Z")

</div>

Yoshimi Nagaoさん

すいません、よく見たらコードそのものがJavaScriptの文法エラー起こしてますね。  
さらにkeiyakuという変数にレコードからデータが代入されていない為動いていないようです。  
なので、

```
(function() {
  "use strict";

//レコードの追加、編集、詳細画面で適用する
  var events = ['app.record.detail.show',
              'app.record.create.show',
              'app.record.create.change.keiyaku',
              'app.record.create.change.keiyakukaisuu',
              'app.record.edit.show',
              'app.record.edit.change.keiyaku',
              'app.record.edit.change.keiyakukaisuu'];

  kintone.events.on(events, function(event) {
    var record = event.record;
    var keiyaku = record['keiyaku'].value;
    //契約書で「年間契約」が選択された場合は「契約回数・開始日・値引率・掲載金額（年契）」フィールドを表示する
    if(keiyaku == '年間契約'){
      kintone.app.record.setFieldShown('keiyakukaisuu',true);
    }else{
      kintone.app.record.setFieldShown('keiyakukaisuu',false);
    }
  });
})();

```

という風に変更すれば動くと思います。  
丁寧な回答ができずすいませんでした

---

<div class="post-metadata">

### Author: ![Legacy\_Account1624](https://avatars.discourse-cdn.com/v4/letter/l/ee59a6/32.png) [@Legacy\_Account1624](https://community.cybozu.dev/u/Legacy_Account1624)
#### Post date: [2015 年 8 月 27 日午前 4:13 UTC](https://community.cybozu.dev/t/topic/2167/8 "2015-08-27T04:13:41Z")

</div>

瀧ヶ平さま

うまく稼働しました！  
嬉しすぎて咳き込みました（笑）

やっぱりちゃんと勉強しないとダメですね。  
頑張ります。

とっても助かりました。ありがとうございます。

---

<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: [2025 年 10 月 1 日午前 1:15 UTC](https://community.cybozu.dev/t/topic/2167/9 "2025-10-01T01:15:46Z")

</div>

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