新規投稿
フォローする

【フォームブリッジ】チェックボックスでテーブル内のドロップダウンの制御を行いたい

チェックボックスでテーブル内のドロップダウンの制御を行いたいです。
全くの初心者でお恥ずかしいのですが、どなたかご教授頂けると幸いです

kviewerとフォームブリッジを連携しています。
フォームを開いた時点でテーブルにデータが表示されており、チェックボックスは編集不可にしてあります。

テーブル内のチェックボックスにチェックが付いている場合のみ、ドロップダウンを選択可能にしたいのですが、
どのようにしたら良いでしょうか。

こちらを参考にコードを書いてみましたが、動きませんでした。
https://developer.cybozu.io/hc/ja/community/posts/360045255552-%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%81%A7%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E7%B7%A8%E9%9B%86%E5%88%B6%E5%BE%A1%E3%82%92%E3%81%8A%E3%81%93%E3%81%AA%E3%81%86%E6%96%B9%E6%B3%95

 

(function() {
"use strict";

fb.events.form.mounted = [function (state) {
if(event.record.チェックボックス.value.length > 0) {
event.record.テーブル.value.forEach(function(row) {
ドロップダウン.disabled = true;
});

}
return state;
}]
})();

 

0

2件のコメント

Avatar
江田篤史

ちかさん

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

チェックボックスとドロップダウンは共にサブテーブル内にあり、行ごとにフィールドの編集不可設定するということでしょうか?

フォームブリッジで、サブテーブルの行ごとにフィールドの編集不可設定することは困難です。

もしどうしてもという場合は、DOM操作を行い、各行のフィールドにpointer-events: none;を設定するなどになるかと思います。
ただし、フォームブリッジの仕様変更により動作しなくなる可能性があります。

ドロップダウンがサブテーブル外の場合や、行ごとに出し分ける必要がない場合は、editableプロパティ(state.fields[].editable)をfalseにすることで編集不可設定できます。

0
Avatar
ちか

江田篤史さま

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

>チェックボックスとドロップダウンは共にサブテーブル内にあり、行ごとにフィールドの編集不可設定するということでしょうか?

おっしゃる通りです。
JavaScripも理解できておらず、DOM操作も高いハードルに感じましたので、今回は諦めます。
できない(難しい)ことが分かっただけでも助かりました。
ご回答ありがとうございました。

1
サインインしてコメントを残してください。
このトピックでは、新しいコメントの受付を中止しています。