首页 > 解决方案 > 尝试根据 Razor 页面上的复选框值更改背景颜色

问题描述

每当检查内部的复选框时,我都希望将其变成红色。Html.DisplayFor 使事情变得更复杂一些。SQL server 表中的 Inactive 字段是布尔值、零或一。

<td align="center">

        @Html.DisplayFor(modelItem => item.Inactive)

</td>

查看表格时,该值为 0 或 1。该页面显示了一个所需的复选框,但我试图引用它的值并设置周围表格单元格的背景颜色。

标签: htmlasp.net-corerazor-pagesdisplayfor

解决方案


尝试使用EditFor替换DisplayFor,然后将以下js添加到您的视图中:

function changeColor(t) {
            if (t.checked) {
                $(t).parent().css('background', 'red');
            } else {
                $(t).parent().css('background', 'none');
            }
            
        }
        $('input[type=checkbox]').change(function () {
            changeColor(this);
        })
$(function () {
            $('input[type=checkbox]').each(function () {
                changeColor(this);
            });
           
        })

推荐阅读