根据条件 GSP、JQ 在订单行上应用删除线



我在表格中显示对象列表,以便每个对象 1 行。如果对象将某个参数设置为 1,我希望特定行在其上运行删除线。这是我的代码:

<% patientOrders.each { order -> %>
 <tr class="orderRow">
  <% if(order.discontinued == 1) { %>
   <script type="text/javascript">
     jq(this).closest('.orderRow').css({"text-decoration": "line-through","text-decoration-color": "red"});
   </script>
  <% } %>
  <td>${ order.drugname.getDisplayString().toUpperCase() }</td>
  <td>${ order.startdate.format('yyyy-MM-dd') }</td>
 </tr>
<% } %>

表中列出了每个患者订单。对于所有"已停产"参数设置为 1 的订单,将显示删除线。我无法实现这一点。谁能帮我?

谢谢!

您可以有条件地在"tr"上添加一个类,用于已停产的订单,并为删除线编写 CSS,可能是这样的:

<% patientOrders.each { order -> %>
 <tr class="orderRow <% if(order.discontinued == 1) { %> discontinued <% } %>">
  <td>${ order.drugname.getDisplayString().toUpperCase() }</td>
  <td>${ order.startdate.format('yyyy-MM-dd') }</td>
 </tr>
<% } %>

.CSS:

orderRow.discontinued{
    text-decoration: line-through;
    text-decoration-color: red;
}

注意:大多数主流浏览器不支持文本装饰颜色,您可以使用color: red代替,但它也会更改文本颜色。

如果您希望删除线为红色,文本为不同颜色,则可以覆盖td的颜色以及上面的CSS来实现这一点:

.CSS:

.orderRow td{
    color: black;
}

最新更新