我正在處理一個項目,該項目要求我在單擊另一個表中的等效行時可以編輯表中的單元格。我遇到的問題是,我無法讓它在可更新表中使單行變爲可編輯,而是使每行的每個單元都可編輯。在jQuery中使用上下文和「this」
這裏是的jsfiddle演示該問題的示例:http://jsfiddle.net/z9qtH/24/
在此示例中,如果你點擊表格中的「第1行」在頂部,該表的第一行下面應該有它的單元格的內容換成投入。相反,底部表格中的兩行都可以編輯。
代碼
HTML:
<table border="1">
<tr>
<td class="editable">Row 1</td>
</tr>
<tr>
<td>Row 2</td>
</tr>
</table>
<table class="updateable" border="1">
<tr>
<td>1 - 1</td>
<td>1 - 2</td>
<td>1 - 3</td>
</tr>
<tr>
<td>2 - 1</td>
<td>2 - 2</td>
<td>2 - 3</td>
</tr>
</table>
的Javascript:
function replaceRowCellContentsWithInput(row) {
$("td", row).each(function() {
$(this).html('<input type="text" value="' + $(this).html() + '" />');
});
}
$(document).ready(function() {
$("td.editable").click(function() {
var cell = $(this);
var rowIndex = cell.parent().index();
var table = $("table.updateable");
replaceRowCellContentsWithInput(table.children(rowIndex));
});
});
實時鏈接對於一個問題來說是一個很好的*附件*,但也總是在問題*中發佈相關的代碼*。兩個原因。 1.人們不應該遵循鏈接來幫助你。 2. StackOverflow不僅適用於您,而且適用於將來也有類似問題的其他人。外部鏈接可以被移動,修改,刪除等。通過確保相關代碼在問題中,我們確保問題(及其答案)在合理的時間段內保持有用。 –