我有一项任务是通过点击按钮来创建输入字段。
<table>
<tr>
<th>
Name
</th>
<th>
Age
</th>
</tr>
<tr>
<td>
Nithin
</td>
<td>
24
</td>
</tr>
</table>
<button id="btn">add row</button>
点击按钮我想显示一个文本框,允许用户将内容添加到表格中。
如何做到这一点?
编辑: - 我想考虑上面的td。它必须基于上面的td计数生成
答案 0 :(得分:1)
这是一个小提琴,它会在您的桌子上添加新行,每次点击按钮时都会有两个新的输入字段:button#btn
:
纯jQuery源:
$(document).ready(function() {
$('button#btn').click(function() {
var new_row = $('<tr>');
var input_name = $('<input>').attr({
type: 'text',
placeholder: 'Your Name',
name: 'names[]'
});
var input_age = $('<input>').attr({
type: 'text',
placeholder: 'Your Age',
name: 'ages[]'
});
var column_name = $('<td>').append( input_name );
var column_age = $('<td>').append( input_age );
new_row.append( column_name ).append( column_age );
$('table').first().find('tbody').append( new_row );
});
});
答案 1 :(得分:0)
var name = 'yourInputName';
$('#btn').on('click', function(name) {
$('#myTable').append('<input type="text" name="' + name + '" />');
});
给你的表(或一个类,或任何你想要的东西,并在$('#myTable')中更新选择器)。
答案 2 :(得分:0)
$("#btn").on('click', function() {
var count = $('table').children('tbody').children('tr').children('td').length;
for ( var i =0; i <count; i++ ) {
$('table tbody').append('<tr><td><input type="text"/></td></tr>');
}
});
答案 3 :(得分:0)
这是jsFiddle。
$("#btn").click(function() {
$("table").append('<tr><td colspan="2"><textarea rows="50" cols="5"></textarea></td></tr>');
});
答案 4 :(得分:0)
首先,让我解释使用innerHTML
代替.append()
:
在按钮#btn
下添加以下HTML代码:
<div id="addRow">
<input type="text" id="name" value="" />
<input type="text" id="age" value="" />
<button id="createNewRow">Add new row</button>
</div>
#addRow {
display:none;
}
/* We we click the #btn# */
$(document).on('click', '#btn', function () {
/* We show the add row form (or hide it) */
$('#addRow').slideToggle();
/* We also change the text of the #btn
and empty inputs if necessary */
if ($(this).text() == "add row") $(this).text('hide form');
else {
$('#age,#name').val('');
$(this).text('add row');
}
});
/* Here we add a new row using .innerHTML */
$('#createNewRow').on('click', function () {
var name = $('#name').val(),
age = $('#age').val();
$('table tbody')[0].innerHTML += "<tr> <td>" + name + "</td><td>" + age + "</td></tr>";
});
您可以使用AJAX / HTML表编辑方式。请参阅此主题:How to edit table contents from another page using javascript. The related demo