jQuery 1.6.4を使用していて、htmlテーブルから取得した値の配列があります。私がやろうとしているのは、ユーザーが行をクリックしたときに特定のtdから値を取得することです。このコードを使用して、特定の行からすべてのtd値を取得しました。
jspコード:
<tr>
<s:iterator value="model.NameList">
<tr>
<td align=center><s:property value="message.substring(0,125)"/></td>
<td align=center><s:property value="timestamp"/></td>
<td align=center><s:property value="retryCount"/></td>
<td align=center><s:property value="specialId"/></td>
...
</tr>
</s:iterator> ...
specialIdは、クリックイベントから選択した各行から取得する必要のあるtdセルの値です。
//省略されたイベントコードをクリックします。
var arr = [];
arr = $(this).find('td').map(function(){
return this.innerHTML;
}).get();
次に、その行のセルをループするときに、ifブロックを使用して特定のセルの値を確認する必要があります。値を取得するために、以下のコードのようにハードコーディングしましたが、これを動的に行う必要があります。
$.each(arr, function(i, l){
if(i == 6) { ...
そのため、その値を取得するためにtdセルのIDを作成しましたが、ID自体が機能しないように、複数の行からこの特定のセルの値を取得する必要があります。ユーザーが複数の行を選択し、その値をStruts2の非表示のテキストボックスに送信する場合は、行から値を取得してから、複数の行から値を取得する必要があります。最初に1つのテキストボックスを使用しているだけで、それは機能しました。
$('#textboxId').val(l); //Set the value to the id of a hidden textbox.
私はこれを間違った方法で行っていますか?各行から必要な値は1つだけなので、これをコーディングするためのより良い方法があると思いますが、tdのn(値)も考慮する必要があります。
これどうやってするの?