現在ラジオボタンで選んだグループに紐付いているチェックボックス郡を表示し、チェックを入れるプログラム部分を作成しています。
ラジオボタンで選んだグループのチェックボックスにチェックを入れ、別のグループをラジオボタンで選んだ場合、既にチェックボックスにチェックを入れているものがデータとして残ってしまっておりこれを空にしたいと考えております。
コミュニティなどを参考に作ってみましたが、うまく動作せず、また保存の際に「ほかのユーザーがレコードを更新した」とエラーが出る場合もあります。
行き詰まってしまったためご教示いただけると幸いです。
グループA~Dはチェックボックス郡
グループEのみサブテーブルになっています。
(function() {
"use strict";
var events1 = [
'app.record.create.show',
'app.record.create.change.該当部署',
'app.record.edit.show',
'app.record.edit.change.該当部署',
'app.record.detail.show',
];
kintone.events.on(events1, function(event) {
/* フィールドの非表示をデフォルトにする */
kintone.app.record.setFieldShown('案件内容_社', false);
kintone.app.record.setFieldShown('案件内容_税', false);
kintone.app.record.setFieldShown('案件内容_行', false);
kintone.app.record.setFieldShown('案件内容_司', false);
kintone.app.record.setFieldShown('案件内容_外', false);
/* チェックボックスの値を取得 */
var RadioVal = event.record['該当部署'].value;
var check_array = [];
var arr = ["案件内容_社", "案件内容_税", "案件内容_行", "案件内容_司", "案件内容_外"];
var rec = event.record;
var cnt = 0;
var state = [];
console.log(rec);
/* 選択された数だけループさせる。*/
switch( RadioVal ) {
case '社' :
kintone.app.record.setFieldShown('案件内容_社', true);
break;
case '税' :
kintone.app.record.setFieldShown('案件内容_税', true);
cnt = 1;
break;
case '行' :
kintone.app.record.setFieldShown('案件内容_行', true);
cnt = 2;
break;
case '司' :
kintone.app.record.setFieldShown('案件内容_司', true);
cnt = 3;
break;
case '外' :
kintone.app.record.setFieldShown('案件内容_外', true);
cnt = 4;
break;
}
console.log("aq");
kintone.events.on("app.record.edit.submit.success", function(event2){
for( var i = 0; i < arr.length; i++ ){
if( cnt == i ){
continue;
}
var matter = arr[i];
rec[matter].value = [];
return event2;
}
});
});
})();