【フォームブリッジ】選択肢を表示する条件を設定

harazonoさん

こんにちは。

 

チェックボックスで選択された値のみから構成されるラジオボタンを作るということで合ってますでしょうか。

下記のようなコードでラジオボタンの中身を変えることができます。

JavaScript独学中とのことで、ぜひコードを読み解いてみてください。

FormBridgeのイベントについては、下記ご参照ください。

https://formbridge.kintoneapp.com/help/customize

(function() {

'use strict';

function setRadio(state) {

let checkbox = [];
// チェックボックスを結合
checkbox = state.record.広告媒体_web.value.concat(state.record.広告媒体_他.value);

// チェックボックスで選択された値にラジオボタンの値が含まれなければ、ラジオボタンを初期化
if (checkbox.indexOf(state.record.認知媒体.value) == -1) {
state.record.認知媒体.value = '';
}

let el = fb.getElementByCode('認知媒体').getElementsByClassName('field');
// チェックボックスで選択されていない値はラジオボタンで非表示、選択されている値は表示
for (let i = 0; i < el.length; i++) {
if (checkbox.indexOf(el[i].innerText.trim()) == -1) {
el[i].style.display = 'none';
} else {
el[i].style.display = '';
}
}

return state;

}


fb.events.fields.広告媒体_web.changed = [function(state) {
setRadio(state);
return state;
}];


fb.events.fields.広告媒体_他.changed = [function(state) {
setRadio(state);
return state;
}];


fb.events.form.mounted = [function(state) {
setRadio(state);
return state;
}];

})();