gpt4 book ai didi

jquery - 如何以编程方式更改 HTML 选项标签颜色?

转载 作者:行者123 更新时间:2023-12-01 08:00:43 26 4
gpt4 key购买 nike

我想在选择组合“#accountSelector”中将带有 CODE != "abc012345"的项目设为蓝色;

我尝试了以下解决方案,它工作正常,但存在代码复制(“选项”标记的内容被复制到 IF ELSE 语句中)。

如何更改选项标签的颜色以避免代码复制?有没有 javascript/jquery 清理解决方案?

<table border="0" cellPadding="0" cellSpacing="0" >
<logic:notEmpty name="enabledReportsList" >
<tr>
<td>
<select id="accountSelector" name="accountSelector" style="WIDTH: 380px" class="comboFilter" onChange="preSubmit();document.changeReports.submit()">
<logic:iterate id="cc" indexId="ccn" name="enabledReportsList" >
<% if (!( ((it.myproject.common.Report)cc).getCode() ).equals("abc012345")){%>
<option style="color:blue" value="<bean:write name="cc" property="Report"/>" <%= ( ((it.myproject.common.Report)cc).getReport() ).equals(session.getAttribute("accountSelector")) ? "selected" : "" %> >
<bean:write name="cc" property="fullValue"/>
</option>
<%} else {%>
<option value="<bean:write name="cc" property="Report"/>" <%= ( ((it.myproject.common.Report)cc).getReport() ).equals(session.getAttribute("accountSelector")) ? "selected" : "" %>>
<bean:write name="cc" property="fullValue"/>
</option>
<%}%>
</logic:iterate>
</select>
</td>
<td class="filterheader">
<b><bean:message key="selector.account" arg0="${fn:length(enabledReportsList)}"/></b>
</td>
</tr>
</logic:notEmpty>

<logic:empty name="enabledReportsList" >
<tr>
<td class="filterheader">
<bean:message key="ENABLED_REPORTS.combo.empty"/>
</td>
</tr>
</logic:empty>

</table>

最佳答案

这很简单:

  1. 在没有任何输出的情况下计算 Java 代码块中样式的值:

     <% 
    String style = "";
    if( ... ) {
    style = "style='color:blue' ";
    }
    %>
  2. 使用变量:

    <option <%=style%>value="...

请注意,您有责任正确转义变量的内容。在JSP编译器生成的Java代码中,您将得到:

 out.write("<option ");
out.write(style);

即该字符串将按原样传递给客户端。

关于jquery - 如何以编程方式更改 HTML 选项标签颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19954766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com