(更新パネルを使用して)動的に入力されるテーブルがあり、ユーザーが選択した行をクリックすると、すべてのデータがラベルに書き込まれます。IEとChromeで正常に動作しますが、Firefoxは未定義と言います。5列の単純なテーブル。私は次のように動的にテーブルにバインドします:(コードの膨張を許してください)
$('#tblResults').delegate(".aRow", "click", function () {
var thatID = this.id;
if (thatID != "0") {
var wordz = "";
var specialID = document.getElementById("hiddenChosenContact");
var targetContact = document.getElementById("theContactLabel");
for (var i = 1; i <= this.cells.length - 1; i++) {
if (i == this.cells.length - 1)
wordz = wordz + this.cells[i].innerText;
else
wordz = wordz + this.cells[i].innerText + " - ";
}
targetContact.innerHTML = wordz;
specialID.value = thatID;
}
else {
}
});
行には、ロード時にIDとクラス名'aRow'が与えられます。完全なjquery$(this)のみを使用してみましたが、正直なところ、テーブル操作の構文についてはよくわかりません。
**編集。申し訳ありませんが、未定義の値がthis.cells[i].innerTextに含まれていることを意味します
**HTML編集
<table class="cvTableG" id="tblResults" cellPadding="0" cellSpacing="0" style="clear:left; width:100%; font-size:10px;">
<thead>
<tr class="aRow" id="1"><th width="14px;"> </th>
<th align="left" width="85px">Name</th>
<th align="left" width="90px">Surname</th>
<th align="left">Department</th>
<th align="left">Customer</th>
</tr>
</thead>
<tbody>
<tr class="aRow" id="2">
<td style="padding:0;"><input type="radio" name="myRadio" /></td>
<td>Marty</td>
<td>Elliott</td>
<td>Development Place</td>
<td>Rosebank</td>
</tr>
<tr class="aRow" id="3">
<td style="padding:0;"><input type="radio" name="myRadio" /></td>
<td>Sarah</td>
<td>Lee</td>
<td>Dev Place</td>
<td>JHB</td>
</tr>
<tr class="aRow" id="4">
<td style="padding:0;"><input type="radio" name="myRadio" /></td>
<td>Marty</td>
<td>Elliott</td>
<td>Halfway House</td>
<td>Durban</td>
</tr></tbody></table>