改变某些selectItem的样式

时间:2012-11-03 15:06:05

标签: jsf seam

在我的xhtml页面中,我使用的是<h:selectOneMenu>组件。为了填充数据,我在组件中使用了<s:selectItems>组件。我需要的是有条件地改变某个selectItem的风格。是否有可能或有替代方法吗?
例如,如果选项的标签是“ 铅笔 ”,我需要更改选项的颜色。
我使用 jboss-seam ,名称空间“ s ”指的是seam标签库。

<h:selectOneMenu value="#{bean.selectedItem}" id="myCombo">
   <f:selectItem itemLabel="-Please select-" itemValue=""/>
   <s:selectItems value="#{bean.items}" var="item" label="#{item.name}" itemValue="#{item}"/>
</h:selectOneMenu>

1 个答案:

答案 0 :(得分:0)

我找到了javascript的替代方法。我的js代码是这样的。然而,这只是一个显示概念的简化代码。

<script>      
  window.onload = function() {
    var options = document.getElementById("myForm:myCombo").options;
    for(var i = 0; i &lt; options.length; i++) {
      if(options[i].innerHTML == 'pencil') {
        options[i].style.color = 'red';
      }
    }
  }
</script>