Применить зачеркнутую линию к строке заказа на основе условия, 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, отображается зачеркнутая линия. Я не смог реализовать это. Может ли кто-нибудь помочь мне?

Спасибо!

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;
}

Примечание: text-ornament-color не поддерживается в большинстве основных браузеров, вы можете использовать color: red вместо этого, но это также изменит цвет текста.

Если вы хотите, чтобы зачеркнутая линия была красной, а текст - другого цвета, вы можете переопределить цвет td вместе с указанным выше CSS, чтобы добиться этого:

CSS:

.orderRow td{
    color: black;
}
Другие вопросы по тегам