チェックボックスによってラジオボタンの値を変更

お世話になっております。

タイトルの件について、4つの値があるチェックボックスにチェックが付いたら関連するラジオボタンの値を変更したいと考えております。

※レコード追加時のみ

現在以下コードで行っていますが、チェックを付ける際は、思い通りに値が変更しますが、2つ以上チェックが入っている時に、チェックを外すと思い通りに値が変更しません。

(function($) {
"use strict";
var events = [
'app.record.create.show', 'app.record.create.change.依頼区分'
];
kintone.events.on(events, function(event) {
var record = event.record;
var check = record['依頼区分']['value'];
record['ステータスa']['disabled'] = true;
record['ステータスb']['disabled'] = true;
record['ステータスc']['disabled'] = true;
record['ステータスd']['disabled'] = true;
if (check.indexOf('区分a') != -1) {
record['ステータスa']['value'] = "依頼中";
}
if (check.indexOf('区分b') != -1) {
record['ステータスb']['value'] = "依頼中";
}
if (check.indexOf('区分c') != -1) {
record['ステータスc']['value'] = "依頼中";
}
if (check.indexOf('区分d') != -1) {
record['ステータスd']['value'] = "依頼中";
}
if (check.length === 0) {
record['ステータスa']['value'] = "依頼無";
record['ステータスb']['value'] = "依頼無";
record['ステータスc']['value'] = "依頼無";
record['ステータスd']['value'] = "依頼無";
}
return event;
});
})();

お手数をおかけしますが、ご教授いただければ幸いでございます。

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

 

 

こんにちは!

恐らくチェックが外れた際の処理が含まれていないのが、原因かと思います。

以下のようにそれぞれのif文にチェックが外れた時の処理を入れれば、動くかと思います(^^)

if (check.indexOf('区分a') !=-1) {
record['ステータスa']['value'] ="依頼中";
} else {
record['ステータスa']['value'] ="依頼無";
}

Ryokke 様

早速のご返答ありがとうございます。

ご教授いただいた内容で、思い通りの動きになりました。

ありがとうございます。

今後ともよろしくお願いいたします。