java的新东西,并且在为这个SELECT选项分配class属性时遇到了麻烦。想知道listClass是否正确?我想要完成的是将一个类属性添加到SELECT下拉选项
我有什么:
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="ford">F150</option>
</select>
我想要的是什么:
<select>
<option class="car" value="volvo">Volvo</option>
<option class="car" value="saab">Saab</option>
<option class="car" value="mercedes">Mercedes</option>
<option class="truck" value="ford">F150</option>
</select>
这是JSP代码:
<s:select id="theSelectId"
name="theDto.id"
value="#attr.theDto.field_id"
list="theDtoList"
listKey="field_id"
listValue="field_value"/>
有listClass吗?或者另一种拉动我需要的价值的方式?
答案 0 :(得分:0)
我刚刚对Struts标签lib API进行了快速检查,看起来Struts select标签的styleClass属性将创建一个类属性。
http://struts.apache.org/1.x/struts-taglib/tlddoc/html/select.html
答案 1 :(得分:0)
为此,我怀疑你必须推出自己的标签。您可以创建一个新的myselect标记,该标记接受optionClass参数,该参数将该类设置为每个选项元素。
答案 2 :(得分:0)
听起来像Struts s:select与JSF h具有相同的问题:selectOneMenu:无法为每个选项指定一个类。我不做Sruts,所以我不能给出一个详细的Struts特定的答案,但到了这一点,你需要更改/覆盖s:select组件的渲染器,这样它才需要一个额外的属性,你最终可以用来指定选项类。像this JSF example中那样的事情。
如果由于struts的限制或功能限制而未在服务器端执行此操作,请考虑使用类似上述jQuery的Javascript库。那么就是一个例子:
var optionClasses = ['volvo', 'saab', 'mercedes'];
$('#dropdownId option').each(function(index, optionElement) {
$(optionElement).class(optionClasses[index]);
});