# ルックアップフィールド「クリア」クリック後の「OK」ボタンイベントでチェックボックスを空白にしたい

**URL:** <https://community.cybozu.dev/t/topic/6117>\
**Category:** kintone 開発相談\
**Created:** [2022 年 7 月 1 日午後 12:46 UTC](https://community.cybozu.dev/t/topic/6117 "2022-07-01T12:46:43Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account1923](https://avatars.discourse-cdn.com/v4/letter/l/85e7bf/32.png) [@Legacy\_Account1923](https://community.cybozu.dev/u/Legacy_Account1923)\
**Post date:** [2022 年 7 月 1 日午後 12:46 UTC](https://community.cybozu.dev/t/topic/6117/1 "2022-07-01T12:46:43Z")

</div>

タイトルの通り、ルックアップフィールドの「クリアー」の「OK」を押した時に、チェックボックスで選択されているチェックを消したいと考えております。下記のコードで「クリアー」を押した時にチェックボックスを空白にすることは出来たのですが、「クリアー」後の「OKの」classを取ってきても同じ動作になりませんでした。どのようすればいいのか教えていただけませんか？

(function(){  
‘use strict’;  
kintone.events.on([‘app.record.create.show’, ‘app.record.edit.show’], function (event) {

document.getElementsByClassName(‘button-simple-cybozu input-clear-gaia’)[0].addEventListener(‘click’, function(click) {  
var myRecord = kintone.app.record.get();  
myRecord.record[‘チェックボックス’][‘value’] = [];  
kintone.app.record.set(myRecord);  
}, true);  
return event;  
});  
})();

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2258](https://avatars.discourse-cdn.com/v4/letter/l/8edcca/32.png) [@Legacy\_Account2258](https://community.cybozu.dev/u/Legacy_Account2258)\
**Post date:** [2022 年 7 月 2 日午前 4:39 UTC](https://community.cybozu.dev/t/topic/6117/2 "2022-07-02T04:39:38Z")

</div>

クリア後のOKは、クリアボタン押下後に生成されてるため、押下後に取得するようにします。ただ、押下後すぐには存在しないので時間差で取得しつつ、OKボタンにイベント付与させるとこのような形になるかと思います。

&nbsp;

```
(function () {
    'use strict';
    kintone.events.on(['app.record.create.show', 'app.record.edit.show'], function (event) {
        document.getElementsByClassName('button-simple-cybozu input-clear-gaia')[0].addEventListener('click', function (click) {
            setTimeout(() => {
                let el = document.querySelector(".removelink-confirm-btn-cybozu.input-lookup-confirm-btn")
                el.addEventListener("click", (() => {
                    var myRecord = kintone.app.record.get();
                    myRecord.record['チェックボックス']['value'] = [];
                    kintone.app.record.set(myRecord);
                }), 500)
            })
        }, true);
        return event;
    });
})();

```

&nbsp;

ただ、強引な作りなので出来るならチェンジイベントを用いて、その変化結果に対してチェックボックスの内容を変えてあげるのが良いかと思います。その際[ルックアップでは直接チェンジイベントを感知できないので実装変更する際は参照ください](https://community.cybozu.dev/hc/ja/community/posts/205151243-%E3%83%AB%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%81%8B%E3%82%89%E5%80%A4%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%9F%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AE-change-%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%81%A4%E3%81%84%E3%81%A6)。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1923](https://avatars.discourse-cdn.com/v4/letter/l/85e7bf/32.png) [@Legacy\_Account1923](https://community.cybozu.dev/u/Legacy_Account1923)\
**Post date:** [2022 年 7 月 2 日午前 5:46 UTC](https://community.cybozu.dev/t/topic/6117/3 "2022-07-02T05:46:44Z")

</div>

nabe様  
コメントいただきありがとうございます！  
初めはルックアップで他のフィールドのコピー先の変化結果を見るようにしていたのですが、レコード追加時にだけ動かくなかったので、今回問い合わせさせて頂きました。因みにユーザー選択フィールドなんですが、何故かわかったりしますか？

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2258](https://avatars.discourse-cdn.com/v4/letter/l/8edcca/32.png) [@Legacy\_Account2258](https://community.cybozu.dev/u/Legacy_Account2258)\
**Post date:** [2022 年 7 月 2 日午前 6:41 UTC](https://community.cybozu.dev/t/topic/6117/4 "2022-07-02T06:41:32Z")

</div>

変更に対してのイベントで差分がでてるようでしたら、editで作成していて、createのイベント（app.record.create.change.\<フィールドコード\>）を定義してないのかなぁと思います。

[https://developer.cybozu.io/hc/ja/articles/201941984#step3](https://developer.cybozu.io/hc/ja/articles/201941984#step3)

[https://developer.cybozu.io/hc/ja/articles/202166270#step3](https://developer.cybozu.io/hc/ja/articles/202166270#step3)

&nbsp;

その際、チェンジイベントをそれぞれ書いてあげるのもいいですが、[こちら](https://community.cybozu.dev/hc/ja/community/posts/360043281651-%E8%A4%87%E6%95%B0%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AEchange%E7%B3%BB%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%83%8F%E3%83%B3%E3%83%89%E3%83%A9%E3%82%92%E7%BE%8E%E3%81%97%E3%81%8F%E6%9B%B8%E3%81%8F)のようにまとめて上げるとすっきりするかと思います。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1923](https://avatars.discourse-cdn.com/v4/letter/l/85e7bf/32.png) [@Legacy\_Account1923](https://community.cybozu.dev/u/Legacy_Account1923)\
**Post date:** [2022 年 7 月 2 日午前 10:11 UTC](https://community.cybozu.dev/t/topic/6117/5 "2022-07-02T10:11:30Z")

</div>

仰る通り定義するのを忘れておりました。  
書き方についてもコメント頂き有り難うございます。  
無事解決できました！
