0
我想要一個「添加行」和「添加列」按鈕系統的東西。我的HTML是:更多行和更多列jQuery
<table border="2" id="the_table">
<tr>
<td><input name="value_1[]"/></td>
</tr>
</table>
<a href="#" rel="add_row">Add Row</a> <a href="#" rel="add_column">Add Column</a>
我的jQuery:
$(document).ready(function(){
var table_id = "#the_table";
jQuery.fn.renderTable = function() {
var rowCount = $(table_id + ' tr').length;
var colCount = 0;
$(table_id + ' tr:nth-child(1) td').each(function() {
if ($(this).attr('colspan')) {
colCount += +$(this).attr('colspan');
} else {
colCount++;
}
});
if($(this[0]).attr("rel") == "add_row") {
var id = $(table_id + " input:last").attr("name");
id = id.replace(/value_(\d+)/, function(match, number) {
return 'value_' + (parseInt(number, 10) + 1);
});
var x = 0;
var result = "<tr>";
while (x != colCount) {
result += '<td><input name="' + id + '" /></td>';
x = x + 1;
}
result += "</tr>";
$(table_id + ' tr:last').after(result);
}
if($(this[0]).attr("rel") == "add_column") {
}
};
$('a').click(function(){
$(this).renderTable();
return false;
});
});
所以baiscally當我點擊添加我希望它添加一行,但增量PHP $ _POST的字段名行...而通過添加列,它必須添加一列並向下遞增名稱。所以我的2×2表的輸出將是:
<table border="2" id="the_table">
<tr>
<td><input name="value_1[]"/></td>
<td><input name="value_1[]"/></td>
</tr>
<tr>
<td><input name="value_2[]"/></td>
<td><input name="value_2[]"/></td>
</tr>
</table>
有沒有一種方法可以做到這一點?先謝謝你!! :d
非常感謝你,這工作! :D – Codecube 2012-07-12 00:41:53
不客氣!我已經更新了小提琴和更有效的代碼的答案。因爲你可能會在大範圍內使用它,並且所有內容都會影響性能:) – Zuul 2012-07-12 00:48:28
這有點偏離主題,並且stackoverflow版主可能不同意這條評論,但通常「新行」指標是文件中的CR; LF! (文件中的一行,數據庫中的一行) – Zuul 2012-07-12 00:58:55