我有一個基於javascript生成的動態表單。下面是相關的javascript:如何刪除特定的textarea字段?
function addRowToTable()
{
var tbl = document.getElementById('convention');
var lastRow = tbl.rows.length;
// if there's no header row in the table, then iteration = lastRow + 1
var iteration = lastRow;
var row = tbl.insertRow(lastRow);
// right cell
var cellRight = row.insertCell(0);
var el = document.createElement('textarea');
el.rows = '2';
el.cols = '80';
el.name = 'conventionSkill' + iteration;
el.size = 40;
var el2 = document.createElement('input');
el2.type = 'hidden';
el2.name = 'conventioni_alt';
el2.value = iteration;
el2.size = 40;
el.onkeypress = keyPressTest;
cellRight.appendChild(el);
cellRight.appendChild(el2);
}
function removeRowFromTable()
{
var tbl = document.getElementById('convention');
var lastRow = tbl.rows.length;
if (lastRow > 2) tbl.deleteRow(lastRow - 1);
}
HTML:
<table id="convention">
<tr>
<td><label>Skill Descriptions:</label></td>
</tr>
<tr>
<td>
<textarea name='convention_54' rows='2' cols='80'>
text
</textarea></td>
<td><a href='javascript:void(0)' onclick='removeRowFromTable(54);'><font size=
'+1'>-</font></a></td>
</tr>
<tr>
<td>
<textarea name='convention_55' rows='2' cols='80'>
text2
</textarea></td>
<td><a href='javascript:void(0)' onclick='removeRowFromTable(55);'><font size=
'+1'>-</font></a></td>
<td><a href='javascript:void(0)' onclick='addRowToTable();'><font size=
'+1'>+</font></a></td>
</tr>
</table>
我喜歡的附加功能,因爲它只是增加了一個新的文本區域。但是,刪除按鈕會從表單底部刪除。我怎樣才能讓removeRowFromTable移除一個特定的textarea?例如,如果我想刪除中間的一個textareas,而不是表單中的最後一個。
感謝您的任何建議!
感謝您的建議。我正在研究這個問題,但我遇到的問題是每個textarea都是動態的 - 我的意思是,每個人都會有完全不同的ID。所以我不能讓jquery在不知道元素名稱的情況下刪除行,並且jquery不會知道元素的名稱,除非它在PHP循環中。有什麼建議麼? :\ –
沒關係,我想通了! :) –