皆様お世話になっております。
質問させていただきます。
他の方の投稿を参考に、ドロップダウンの文字色を変える事をしたのですが、別にある文字列のフィールドを同じ文字色に変更するにはどのように書き加えればよろしいでしょうか?
(現在はドロップダウンの文字色変更だけ)
(function() {
“use strict”;
kintone.events.on(‘app.record.detail.show’, function(event) {
var records = kintone.app.record.getFieldElement(‘ドロップダウン’);
if (event.record[‘ドロップダウン’][‘value’] === “赤”) {
records.style.color = ‘#ff0000’;
}
return event;
});
})();
不勉強の為、ご教授いただけますと助かります。
よろしくお願いいたします。
このような形でしょうかね
(function () {
"use strict";
kintone.events.on('app.record.detail.show', function (event) {
const record = event.record;
const fieldCode = "ドロップダウン";
// 一緒に変更したいフィールドコード
const targetCode = "ターゲット";
if (record[fieldCode].value === "赤") {
let el = kintone.app.record.getFieldElement(fieldCode);
let targetEl = kintone.app.record.getFieldElement(targetCode);
el.style.color = '#ff0000';
targetEl.style.color = '#ff0000';
}
return event;
});
})();
nade 様
ご回答ありがとうございます。
こちらの内容で思惑通りに、表示色を変えられましたが、「一覧」で表示したフィールドでも、色を変えて表示したいです。
弊社の作業者には、「一覧」しか見ない者もいるため、もう少しお教えいただけますと助かります。
よろしくお願いいたします。
一覧ですとまたやり方変わっては来るのですが、下記のような考えでできるかと思います。
(function () {
"use strict";
const events = ["app.record.index.show"];
kintone.events.on(events, async function (event) {
const fieldCode = "ドロップダウン";
const targetCode = "ターゲット";
// 一覧の各列データ取得
const els = await kintone.app.getFieldElements(fieldCode)
const targetEls = await kintone.app.getFieldElements(targetCode)
// 取得分回す。
els.forEach((row, index) => {
// ドロップダウン項目のテキストを取得
let value = row.children[0].children[0].innerText
// 検査
if (value === "赤") {
// ドロップダウンの項目色変更
row.style.color = "#ff0000"
// 同じ行のターゲットの色を書き換える
targetEls[index].style.color = "#ff0000"
}
})
return event;
});
})();
nade 様
再度、ご回答ありがとうございます。
このまま使用させていただき、無事に反映できました。
本当に、ありがとうございました。
nabe様
お世話になっております。もう一度質問させてください。
この場合「一覧」で表示の"ドロップダウン"の文字を見ていますが、「一覧」の表示に”ドロップダウン”が無い場合、
"ターゲット"のフィールド文字表示を変えることは可能でしょうか?
お手数をおかけしますが、よろしくお願いいたします。
実際にブラウザのコンソールでもいいので
kintone.app.getFieldElements(“ドロップダウン”)
で叩いてみていただければわかりますが、一覧に表示されているものの取得&操作となりますね。
nabe様
承知いたしました。
現状、提示いただいたコードを参考に、色の種類も増やして使用しています。
色の選択になっている”ドロップダウン”が必要ないと従業員からの声があり、質問した次第でした。大きな問題ではないので、このままで。
何度もご対応いただきありがとうございます。本当に助かりました。