新規投稿
フォローする

チェックボックスの値によってドロップダウンの値を自動選択

チェックボックスのチェック済を選択するとドロップダウン内の特定の値を自動入力されるようにしたいのですが実現可能でしょうか?

0

7件のコメント

Avatar
sio

こんにちは。
こちらの記事を参考に、下記イメージの処理を追加すればできると思います。

kintone.events.on(events, function(event) {
    var record = event.record;
    var check = record['チェックボックス']['value'];

    if (check.indexOf("チェック済") >= 0) {
     record['ドロップダウン']['value'] = "特定の値";
    } 
    return event;
});
0
Avatar
ヤマダ

wenxit1218

ご回答いただきありがとうございます!

上記の通りのコードを記入してもドロップダウンの値が入力されませんでした

エラーも出ていないので困っております

申し訳ありませんがご教授いただけないでしょうか?

(function() {
'use strict';
var events=['app.record.detail.show','app.record.create.show','app.recrd.create.change.リストチェック'];
           // 'app.record.edit.change.リストチェック', 'app.record.create.submit.success'];


kintone.events.on(events, function(event) {
    var record = event.record;
    var check = record['リストチェック']['value'];

    if (check.indexOf("修正のチェック済") >= 0) {
     record['ステータス1']['value'] = "製作資料";
    
   return event;
}
});
})();

0
Avatar
sio

おそらく下記イベントの表記ミスが原因です。
'app.recrd.create.change.リストチェック']; →「recrd」oが抜けてます。

js入れたのに動かない、エラーも表示されない状況は、
イベントが指定されていない、間違っている ことが多いので、自分も結構躓いていました。
デバッグに関しては動かない?そんな時はデバッグをしてみよう!入門編記事がとても参考になったので、是非読んでみてください。


0
Avatar
ヤマダ

wenxit1218様

ご指摘頂いた通り修正すると思っていた動作の実現ができました。ありがとうございます!

そこで申し訳ないのですがここに追加したい動作がありまして

[チェックボックス1]の値をチェック済にすると[ドロップダウン]=特定の値1になるのですが

[チェックボックス2]の値をチェック済にすると[ドロップダウン]=特定の値2

[チェックボックス3]の値をチェック済にすると[ドロップダウン]=特定の値3

という動作ができるようにしたいのですが

ご教授いただけないでしょうか?

よろしくお願いいたします!

0
Avatar
sio

無事に動作できてよかったです!

追加動作について一点ご確認したいですが、
チェックボックスとドロップダウンの関係性として、

[ドロップダウン]=特定の値2 になる条件は、
[チェックボックス1][チェックボックス2]両方がチェック済み ではなく、
[チェックボックス2]のみチェック済み でしょうか?

チェックボックスの場合複数選択ができるので、もし下記のような選択肢が一対一の場合

[チェックボックス1]チェック済み → [ドロップダウン]=特定の値1

チェックボックスではなく、ラジオボタンを使ったほうが、
紐付けがスッキリ整理できると思いましたが、実現したい動作はどちらでしょうか。

0
Avatar
ヤマダ

[チェックボックス1][チェックボックス2]両方がチェック済になるようにしたいです

そして[ドロップダウン]の値が変化していく動作にしたいと考えております

 

wenxit1218様の言う通り選択肢が1つなのでラジオボタンを使いたいと思っております

 

0
Avatar
sio

>選択肢が1つなのでラジオボタンを使いたいと思っております

つまり、チェックボックスを使わず、
選択肢が下記になるラジオボタンの値と連動して、
「未選択」「①チェック済」「①②チェック済」「①②③チェック済」

ドロップダウンの値が変化していく動作であれば、
こんな感じの処理になると思いますが、イメージ合ってますでしょうか?

kintone.events.on(events, function(event) {
var record = event.record;
var check = record['ラジオボタン']['value'];

if (radio === "①チェック済") {
record['ステータス1'].value = '特定の値1';
}
if (radio === "①②チェック済") {
record['ステータス1'].value = '特定の値2';
}
if (radio === "①②③チェック済") {
record['ステータス1'].value = '特定の値3';
}
return event;
});
0
サインインしてコメントを残してください。