允许用户向jquery表添加数据
我需要用户在表中输入自己的数据。这可能吗 我希望有文本字段,用户可以在其中输入他们的ID、分数等,然后当他们单击添加按钮时,他们的数据将包含在表中 忽略每个ID上的超链接,目前不使用它们 代码更新为我尝试过的代码允许用户向jquery表添加数据,jquery,jquery-mobile,html-table,add,Jquery,Jquery Mobile,Html Table,Add,我需要用户在表中输入自己的数据。这可能吗 我希望有文本字段,用户可以在其中输入他们的ID、分数等,然后当他们单击添加按钮时,他们的数据将包含在表中 忽略每个ID上的超链接,目前不使用它们 代码更新为我尝试过的代码 <div data-role="main" class="ui-content"> <div data-role="collapsible" data-collapsed="true"> <h1>Top 10</h1&
<div data-role="main" class="ui-content">
<div data-role="collapsible" data-collapsed="true">
<h1>Top 10</h1>
<button id="btn1">Add Scores</button>
<div data-role="fieldcontain">
<label for="name">ID:</label>
<input type="text" name="name" id="name" value="" />
</div>
<div data-role="fieldcontain">
<label for="name">Score:</label>
<input type="text" name="name" id="name" value="" />
</div>
<div data-role="fieldcontain">
<label for="name">Course</label>
<input type="text" name="name" id="name" value="" />
</div>
<table data-role="table" id="table-column-toggle" data-mode="columntoggle" class="ui-responsive table-stroke">
<thead>
<tr>
<th data-priority="2">Rank</th>
<th>Student ID</th>
<th data-priority="3">Course</th>
<th data-priority="1">Meeting negotiated target</th>
<th data-priority="5">Score (pts)</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td><a href="http://en.wikipedia.org/wiki/Citizen_Kane" data-rel="external">B</a></td>
<td>Computing</td>
<td><img src="tick.jpg"/></td>
<td>229</td>
</tr>
<tr>
<th>2</th>
<td><a href="http://en.wikipedia.org/wiki/Casablanca_(film)" data-rel="external">B</a></td>
<td>Network Computing</td>
<td><img src="cross.jpg"/></td>
<td>201</td>
</tr>
<tr>
<th>3</th>
<td><a href="http://en.wikipedia.org/wiki/The_Godfather" data-rel="external">B</a></td>
<td>Computer Forensics</td>
<td><img src="tick.jpg"/></td>
<td>194</td>
</tr>
<tr>
<th>4</th>
<td><a href="http://en.wikipedia.org/wiki/Gone_with_the_Wind_(film)" data-rel="external">B</a></td>
<td>Computing</td>
<td><img src="tick.jpg"/></td>
<td>194</td>
</tr>
<tr>
<th>5</th>
<td><a href="http://en.wikipedia.org/wiki/Lawrence_of_Arabia_(film)" data-rel="external">B</a></td>
<td>Computing</td>
<td><img src="cross.jpg"/></td>
<td>159</td>
</tr>
<tr>
<th>6</th>
<td><a href="http://en.wikipedia.org/wiki/Dr._Strangelove" data-rel="external">B</a></td>
<td>Computer Science</td>
<td><img src="tick.jpg"/></td>
<td>122</td>
</tr>
<tr>
<th>7</th>
<td><a href="http://en.wikipedia.org/wiki/The_Graduate" data-rel="external">B</a></td>
<td>ICT</td>
<td><img src="tick.jpg"/></td>
<td>122</td>
</tr>
<tr>
<th>8</th>
<td><a href="http://en.wikipedia.org/wiki/The_Wizard_of_Oz_(1939_film)" data-rel="external">B</a></td>
<td>Computing</td>
<td><img src="cross.jpg"/></td>
<td>100</td>
</tr>
<tr>
<th>9</th>
<td><a href="http://en.wikipedia.org/wiki/Singin%27_in_the_Rain" data-rel="external">B</a></td>
<td>ICT</td>
<td><img src="tick.jpg"/></td>
<td>85</td>
</tr>
<tr>
<th>10</th>
<td class="title"><a href="http://en.wikipedia.org/wiki/Inception" data-rel="external">B</a></td>
<td>Computer Science</td>
<td><img src="cross.jpg"/></td>
<td>78</td>
</tr>
</tbody>
</table>
</div>
第一件事
您的输入必须具有不同的/唯一的ID/名称,如:
Rank: <input type="text" name="ScoreRank" id="ScoreRank" value="" />
ID: <input type="text" name="ScoreId" id="ScoreId" value="" />
Course: <input type="text" name="ScoreCourse" id="ScoreCourse" value="" />
Target: <input type="text" name="ScoreTarget" id="ScoreTarget" value="" />
Points: <input type="text" name="ScorePoints" id="ScorePoints" value="" />
考虑到这一点,您可以使用jQuery遍历输入并添加另一个表行
$(document).ready(function(){
$('#btn1').on('click',AddScore);
});
function AddScore()
{
var jqTableBody = $('#table-column-toggle tbody');
var sTRTemplate = '<tr>' +
' <td>{Rank}</td>' +
' <td>{Id}</td>' +
' <td>{Course}</td>' +
' <td>{Target}</td>' +
' <td>{Points}</td>' +
'</tr>';
var sTRAppend = sTRTemplate;
$('div[data-role="fieldcontain"] input:text').each(function(){
switch(this.id) {
case 'ScoreRank' : sTRAppend = sTRAppend.replace('{Rank}', this.value); break;
case 'ScoreID' : sTRAppend = sTRAppend.replace('{Id}', this.value); break;
case 'ScoreCourse' : sTRAppend = sTRAppend.replace('{Course}', this.value); break;
case 'ScoreTarget' : sTRAppend = sTRAppend.replace('{Target}', this.value); break;
case 'ScorePoints' : sTRAppend = sTRAppend.replace('{Points}', this.value); break;
}
})
jqTableBody.append(sTRAppend);
}
正如你所要求的,这里有一把小提琴 这是我的例子,虽然不像罗杰斯那么花哨 这里有一些示例,因为我不得不将其放在JSFIDLE中,检查所有这些示例
$(document).ready(function(){
$('#theform').submit(function(){
// make remove button and event
var but = $('<button>remove</button>').click(function(){
$(this).parent().parent().remove();
});
// make button td
var buttontd = $('<td></td>').append(but);
// make row
var tr = $('<tr><td>'+$('#1').val()+'</td><td>'+$('#2').val()+'</td><td>'+$('#3').val()+'</td></tr>').append(buttontd);
// add row to table
$('#thetable').append(tr);
// return false so form is not submitted
return false;
});
});
张贴你失败的尝试!将内容添加到表中就像添加任何其他元素一样,非常感谢!,你能用我发布的当前代码将其添加到js fiddle中吗?我在将其集成到我的代码中时遇到问题。我添加了fiddle解决方案很棒!谢谢你的帮助,罗杰