Highlight Details View Label Body & Table Value
How to highlight a details view label body to bring attention to a field
This will give greater visibility to a field that is important to understand at a glance such as a status field and adjusting the highlight color based on the current status.


The JS
This function allows us to identify the details view label body and set a background color value
//Change Label Body Background Color
function changeFieldColor(field, color_map) {
var child_field = $(field).find(".kn-detail-body");
var value = child_field.text();
if (color_map[value]) {
$(child_field).css({
"background-color": color_map[value].background_color,
color: color_map[value].color
});
}
}
This function allows us to identify a table field and set a background color value
//Change Table Value Background Color
function changeTableFieldColor(field, color_map) {
var fields = $(field);
fields.each(function() {
var value = this.innerText;
if (color_map[value]) {
$(this).css({
"background-color": color_map[value].background_color,
color: color_map[value].color
});
}
});
}
We set variables for each combination of background and text colors we want based on field values
//Color Map Status Highlight
var colorMapOne = {
"Available": { background_color: "#80d07e", color: "#fff" },
"Unavailable": { background_color: "#ff9b9c", color: "#fff" }
};
We create a handler that calls the function and sets a specified field to a specified variable
//Highlighted Field
$(document).on("knack-scene-render.any", function() {
changeFieldColor(".field_236", colorMapOne);
});
The CSS
None needed 😎
How to Implement
Adjust the hex colors for each color map variable
"Available": { background_color: "#80d07e", color: "#fff" },
"Unavailable": { background_color: "#ff9b9c", color: "#fff" }
Adjust the Field ID for each handler
changeFieldColor(".field_236", colorMapOne);
Last updated
Was this helpful?