JavaScript和Java在同一个for循环中,这可能吗?

时间:2012-05-02 14:50:51

标签: java javascript jsp

在JSP文件中,我使用以下代码将属性添加到属于特定类的元素:

    $($('.dhx_combo_input').get(0)).attr('style','width: 100%;<%=(highlight.get(0))?"background-color: #FF0000;":""%>');  
    $($('.dhx_combo_input').get(1)).attr('style','width: 100%;<%=(highlight.get(1))?"background-color: #FF0000;":""%>');  
    $($('.dhx_combo_input').get(2)).attr('style','width: 100%;<%=(highlight.get(2))?"background-color: #FF0000;":""%>'); 

highlightArrayList<Boolean>

我有很多这样的行,只有索引不同。它不是很漂亮也不简洁 我试图用for循环替换它,但我需要在JS和Java中使用索引。我不确定这是可能的。我会坚持使用这种语法还是有更好的解决方案?

修改:

循环必须受属于类dhx_combo_input的元素数量的限制。

1 个答案:

答案 0 :(得分:3)

除非我误解你的问题,否则你可以这样做:

<%
    for(int i=0;...){
%>

$('.dhx_combo_input').eq(<%=i%>).attr('style','width: 100%;<%=(highlight.get(i))?"background-color: #FF0000;":""%>');

<%
    }
%>

注意,我稍微修改了您的jquery以使用eq而非get,因此您无需再拨打jquery两次。