レコード詳細画面でサブテーブルの値によってセルの文字色を変更する

レコード詳細画面で、サブテーブルの値によってセルの文字色を変更しようとしています。

 

下記の「レコードに登録されたテーブルの文字列をみてスタイルシートのTRカラーを定義したい」を参考にコードを記述しております。

https://developer.cybozu.io/hc/ja/community/posts/115000371146

 

コミュニティの投稿を参考にコードを記述した所、該当の行の背景の色を変更する事はできましたが下記コード内のchangeColor関数「tr[row]」のプロパティにセル関連が無い為、セルに対しての指定が行えない状態です。

考え方、コードの書き方等、アドバイス頂けると幸いです。


function changeColor(arg) {
var tr = $(kintone.app.record.getFieldElement(‘商談履歴’)).find(‘tr’);
var target = arg[0];
for (var i = 0; target.length > i; i++) {
var row = target[i]; // 色を変える行数を取得
$(tr[row]).css(‘background-color’, ‘red’);
}
}
kintone.events.on([‘app.record.detail.show’], function(event) {
var targetRow = []; // 色変え対象の行番号
var tableRecords = event.record[‘商談履歴’].value;
for (var j = 0; j < tableRecords.length; j++) {
var secondItemName = tableRecords[j].value[‘対応状況’].value;
if (secondItemName == ‘取り組み中止’) {
targetRow.push(j+1);
}
}
// サブテーブルのhtmlが表示されるまで0.5秒待つ
setTimeout(changeColor, 500, [targetRow]);
return event;
});


HNG様

お世話になっております.
cstapの江田と申します.

children()とeq()を用いて指定できます。
eq()には、対象のセルが何列目に当たるかを指定してください。(0始まり)

$(tr[row]).children().eq(1).css('background-color','red');//2列目の場合

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