繁体   English   中英

胸腺多重病

[英]Thymeleaf multiple result in condition

我想根据语句“ myStatus”检查某些条件,如果为true ,则将背景颜色更改为红色并禁用元素(用户无法单击它),如果为false ,则将颜色更改为绿色。 我知道如何更改颜色(效果很好):

th:style="${myObject.myStatus} == true ? 'background-color:red' : 'background-color:green'"

但是如何disable此行中的元素? 我尝试了类似的东西:

th:style="${myObject.myStatus} == true ? 'background-color:red'  'disabled:false' : 'background-color:green'"

th:style="${myObject.myStatus} == true ? 'background-color:red'  'disabled' : 'background-color:green'"

th:style="${myObject.myStatus} == true ? 'background-color:red' & disable : 'background-color:green'"

但是它不起作用...如何解决这个问题?

@更新

@RequestMapping(value = "/getObject/{someID}", method = RequestMethod.GET)
public String getAttr(@PathVariable(value="someID") String id, Model myObject){
    myObject.addAttribute("myObject", this.objectCreator.getObjects());
    return "/chosenobject";
}

并且可以正常工作(因为颜色可以正常工作)。 我在form元素中使用它。

要禁用HTML元素,您必须使用HTML属性disabledhttps : //www.w3schools.com/tags/att_disabled.asp 您可以使用Thymeleaf进行以下操作:

th:disabled="${myObject.myStatus}" 

假设myObject.myStatus是布尔值的true

要有条件地设置颜色,请执行以下操作:

th:style="${myObject.myStatus} ? 'background-color:red' : 'background-color:green'"

如果从控制器发送的条件评估为true(或false),则可以使用Javascript禁用元素。

document.getElementById("id").disabled = true;

您还可以在CSS中使用pointer-events:none模拟disabled属性pointer-events:none如下所示:

th:style="${myObject.myStatus} == true ? 'background-color:red;' : 'background-color:green; pointer-events: none;'"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM