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 様
しばらく別プロジェクトでバタバタしており、お返事が遅くなりまして誠に申し訳ありません!
今、ご教授頂きました方法で編集不可とすることができました。
自分一人では知識が足りずできなかったことです。本当にありがとうございます。
後はテーブル行の追加もできなくなるよう、自分側でも勉強をしてカスタマイズを頑張りたいと思います。
お忙しい中、ご丁寧にコードまでお教え頂きまして感謝しかありません。
大変勉強になりました。重ねて御礼申し上げます。