2011-08-16 16 views
0

に設定します。これはjspのスプリングフォームコードです。入力タイプの値を​​からjavascript

<div id="mainDiv"> 
    <div id="itWillRepeat"> 
     <table> 
      <tbody> 
        <tr> 
         <td>1</td> 
         <td>item</td> 
         <td>item</td> 
         <td> 
         <form:label path="list[${itemsRow.index}].number">4</form:label> 
         <form:hidden path="list[${itemsRow.index}].number" /> 
         </td> 
        </tr> 
      </tbody> 
     </table> 
    </div> 
</div> 

ブラウザとして<td>第四タグのHTMLコードをレンダリングして生成します。

<label for="list4.seq">4</label> 
<input type="hidden" value="4" name="list[4].seq" id="list4.seq"> 

ように、それは、ブラウザの値を示しています。私は<form:labelの値の両方を変更したい

1 item item 4 

<form:hiddenは、onClickのような任意のイベントに簡単なJavaScriptを使用します。私はIDがitWillRepeatここで1つのdivを言及します。それはループで来ると私はすべて<form:labelの値を昇順に変更したいので、itWillRepeat idを持つ多くのdivがあります。

+1

IDはxhtmlで一意である必要があります。例えばid = "itWillRepeat - $ {intemsRow.index}"のようにidに索引を追加すると、この行の値を入れ子にする関数を作成できます。 –

+0

"id itWillRepeatを持つdivが数多くあります" - これは無効になります。代わりに 'id'を' class'に変更してください。 –

+0

隠しフィールドに「

答えて

1
button.onclick = function() { 
    var rep = document.getElementById("mainDiv").getElementsByTagName('div'); 
     for (i = 0; i < rows.length; i++) { 
      //get first label 
      var label = rep.getElementsByTagName("label")[0]; 

      label.innerHTML = i+1; 
      //get first input 
      var hidn = rep.getElementsByTagName("input")[0]; 
       hidn.value = i+1; 
     } 
}; 

すべてのラベル/非表示フィールドに値が変更され、並べ替えられます。

+0

rep.getElenetsByTagName( "input")[0]; が機能しませんでした。何か案が? –

+0

"itwillrepeat"セレクタは機能しましたか?大文字と小文字を区別する必要があります( 'itWillRepeat') – acme

+0

@Eliu!それはあなたの答えのいくつかの変更で動作します。 –