You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery获取隐藏input的th:value、控制可见性并修改颜色

首先明确一个前提:Thymeleaf 的 th:* 前缀属性是服务端渲染属性,页面渲染完成下发到浏览器后,th:value 会自动转为标准的 value 属性,不需要特殊处理前缀。

实现步骤

1. 调整HTML结构

你不需要为循环生成的input加唯一ID,给隐藏input加自定义类、新增一个专门展示状态的标签即可:

<div class="col dividers">
    <h4 class="h-april">April</h4>
    <div th:each="timeline : ${April}">
        <h3 th:text="${timeline.getJobApplications().getTitle()}"></h3>
        <h3 th:text="${timeline.getJobApplications().getCompany}"></h3>
        <!-- 给隐藏input加自定义类方便选择 -->
        <input type="hidden" class="kanban-status-input" th:value="${timeline.getKanbanStatus()}">
        <!-- 新增状态展示标签 -->
        <span class="kanban-status-text"></span>
    </div>
</div>

2. 编写jQuery逻辑

页面DOM加载完成后遍历所有状态输入框,判断值后赋值加样式:

$(function() {
    // 遍历所有隐藏的状态输入框
    $('.kanban-status-input').each(function() {
        // 转为数字避免类型判断误差
        const kanbanStatus = Number($(this).val());
        // 找到同层级的状态展示标签
        const $statusEl = $(this).siblings('.kanban-status-text');

        // 判定状态为1(对应January)
        if (kanbanStatus === 1) {
            // 赋值展示内容
            $statusEl.text('January');
            // 加自定义类设置样式,也可以直接用.css()方法写行内样式
            $statusEl.addClass('january-status');
        }
    })
})

3. 补充CSS样式

.january-status {
    /* 替换为你需要的颜色值即可 */
    color: #16a34a;
    font-weight: 500;
    margin-left: 8px;
}

其他可选方案

如果你不想新增展示标签,直接修改input本身显示,也可以用下面的逻辑(不推荐,input为表单元素,不适合做纯展示用):

$(function() {
    $('.kanban-status-input').each(function() {
        const kanbanStatus = Number($(this).val());
        if (kanbanStatus === 1) {
            $(this).attr('type', 'text').css('color', '#16a34a');
        }
    })
})

内容的提问来源于stack exchange,提问作者rosebarcus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:48:00