チェックボックスでテーブルの編集制御をおこなう方法

JavaScriptはほぼ経験のない素人ですが、kintone担当となり四苦八苦しています。どうぞお知恵をお貸しください。

チェックボックスのチェック有無によって、テーブルデータ入力可/不可を制御したく

https://developer.cybozu.io/hc/ja/community/posts/360042672011

を参考にコードを書いてみましたが、当然のように動きませんでした…。

 

基本知識がないため、何が原因かもわからない状態です。ラジオボタン部分をチェックボックスに変えたためなのか、その他の設定がおかしいのかも不明です…。

確認:チェックボックスのフィールドコード

工数管理:テーブルのフィールドコード

row.value.○○:テーブルの各フィールドコードです。

ちなみに「作業開始/終了」は日時フィールド

「休憩時間」は時刻フィールド

「工番」はルックアップフィールド

「作業内容」はドロップダウンになります。

 

このような質問の仕方で分かりますでしょうか?

不慣れな為、基本的なことを聞いておりましたらすみません。

どうぞよろしくお願いいたします。

こんばんは。

チェックボックスは配列の形なのでarray.lengthで判定するのがいいと思います。

動作確認してませんがコード置いておきます。

(function() {

"use strict";

kintone.events.on(["app.record.create.change.確認", "app.record.edit.change.確認"], function(event) {

// フィールド状態の初期化

event.record.工数管理.value.forEach(function(row) {

row.value.作業開始.disabled = false;

row.value.作業終了.disabled = false;

row.value.休憩時間.disabled = false;

row.value.工番.disabled = false;

row.value.作業内容.disabled = false;

});

// チェックが入ったら編集不可にする

if(event.record.確認.value.length > 0) {

event.record.工数管理.value.forEach(function(row) {

row.value.作業開始.disabled = true;

row.value.作業終了.disabled = true;

row.value.休憩時間.disabled = true;

row.value.工番.disabled = true;

row.value.作業内容.disabled = true;

});

}

return event;

});

})();

*TK 様

しばらく別プロジェクトでバタバタしており、お返事が遅くなりまして誠に申し訳ありません!

今、ご教授頂きました方法で編集不可とすることができました。

自分一人では知識が足りずできなかったことです。本当にありがとうございます。

後はテーブル行の追加もできなくなるよう、自分側でも勉強をしてカスタマイズを頑張りたいと思います。

お忙しい中、ご丁寧にコードまでお教え頂きまして感謝しかありません。

大変勉強になりました。重ねて御礼申し上げます。