一覧画面でステータスフィールド(ドロップダウン)が【開発依頼済み・開発開始待ち】の場合、対象フィールドの文字色と背景色を変更したいです。

一覧画面でステータスフィールド(ドロップダウン)が【開発依頼済み・開発開始待ち】の場合、対象フィールドの文字色と背景色を変更したいですがうまくいかずです。

原因など分かる方おりましたら、教えていただけると幸いです。

 

(() => {
    'use strict';
    kintone.events.on('app.record.index.show', event => {
          if (!event.size) {
            return;
            }
        const records = event.records;
        const statusparts = kintone.app.getFieldElements('status');
                   for (let i = 0; i < records.length; i++) {
                     // 値の取得
                     const st = records[i].status.value;
                     const part = statusparts[i];
            if (st === '開発依頼済み・開発開始待ち') {
                // ステータスが開発依頼済みの場合
                part.style.color = '#ff0000';    // 文字色
                part.style.backgroundColor = '#ffff00';    // 背景色
                part.style.fontSize = '20px';    // サイズ
            }
        }
    });
})();

石井啓之さん

こんにちは。

 

一見問題ないようにも見えますが、ブラウザのデベロッパーツールで一連の処理をデバックしてみてください。

動かない?そんな時はデバッグをしてみよう!入門編

 

kintone.app.getFieldElements('status');

→エレメントを取得できているか(statusというフィールドコードで正しいか)

 

if (st === '開発依頼済み・開発開始待ち') { 

→ドロップダウンの選択肢と一字一句相違ないか

>>ブラウザのデベロッパーツールで一連の処理をデバックしてみてください。

確認したところ、エラーが発生していない状態でした。

 

>>statusというフィールドコードで正しいか

わざと【statusss】としてフィールドコードを変えたところ、デベロッパーツールでエラーが出ましたので

statusとしている場合はエラーが出ないので、正しく取得されていると予想しました。

 

ドロップダウンの選択肢と一字一句相違

わざと【‘開発依頼済み・開発開始待ちちちち’】としてもエラーが出ませんでした。

この情報がそもそも取得できていなかったりするのか?原因がありそうなので、確認進めてみます!!
アドバイスいただきありがとうございます。

横からで申し訳ありませんが、

            if (st === '開発依頼済み・開発開始待ち') {

このif文判定を削除して動作するかどうか(全てのレコードの色が変わるか)で、if文に問題があるかどうかが分かると思います。

mls-hashimoto

すごい!ありがとうございます!!
statusフィールドの全てのレコードの色が変わりました!

if分に問題がありそうですね!!

確認進めてみます!

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。