2

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;":""%>'); 

highlightですArrayList<Boolean>

私はそれらの行の多くを取得しましたが、インデックスのみが異なります。あまりきれいでも簡潔でもないので、forループに置き換えようとしましたが、JSとJavaで使用するインデックスが必要です。それが可能かどうかはわかりません。私はこの構文に固執し続けるのでしょうか、それともより良い解決策がありますか?

編集 :

ループは、クラスに属する要素の数によって制限される必要がありますdhx_combo_input

4

1 に答える 1

3

私があなたの質問を誤解していない限り、あなたはこれを行うことができます:

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

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

<%
    }
%>

eq代わりに使用するようにjqueryを少し変更したgetので、2回呼び出す必要はありませんjquery

于 2012-05-02T14:55:45.367 に答える