正在附加表,而不是创建新表
Table is getting appended instead of creating a new one
我正在写一个网页,其中有一个用数据库中的数据创建的表。这里我使用的是Ajax。
下面是我的代码。index.jsp
<html>
<head>
<link rel="stylesheet"
href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
</head>
<body>
<marquee>
<h1>This is an example of ajax</h1>
</marquee>
<p>
Date: <input type="text" id="startDatePicker">
</p>
<p>
Date: <input type="text" id="endDatePicker">
</p>
<form name="vinform">
Enter id:<input type="button" id="vutton" value="Click Me">
</form>
<span id="tableDiv"> <span id="err">Select Correct Dates</span>
</span>
<script type="text/javascript" src="table.js"></script>
</body>
</html>
table.js
var startDate = $("#startDatePicker").datepicker({
dateFormat : 'yy-mm-dd'
});
var endDate = $("#endDatePicker").datepicker({
dateFormat : 'yy-mm-dd'
});
$('#vutton').click(function() {
$.getJSON('ControllerServlet', {
'startDate' : startDate.val(),
'endDate' : endDate.val()
}, function(searchList) {
var $table = $('<table>').appendTo($('#tabDiv'));
$.each(searchList, function(index, result) {
$('#err').hide();
$('<tr>').appendTo($table).append(
$('<td>').text(result.caseNumber)).append(
$('<td>').text(result.caseOwner)).append(
$('<td>').text(result.status)).append(
$('<td>').text(result.issue)).append(
$('<td>').text(result.reason)).append(
$('<td>').text(result.age));
});
});
});
在这里,每次我点击按钮时,表数据都会被附加,而不是只显示当前结果。我想这是由于我的javascript
中的append
,在这里我想知道如何只显示表格,每次根据参数点击按钮时,我都希望显示一个新的表格,而不是附加到现有的表格上。
请告诉我该怎么做。
感谢
也许您需要在添加新表之前删除所有内容:
var startDate = $("#startDatePicker").datepicker({
dateFormat : 'yy-mm-dd'
});
var endDate = $("#endDatePicker").datepicker({
dateFormat : 'yy-mm-dd'
});
$('#vutton').click(function() {
$.getJSON('ControllerServlet', {
'startDate' : startDate.val(),
'endDate' : endDate.val()
}, function(searchList) {
$('#tabDiv').html(""); //here's the trick
var $table = $('<table>').appendTo($('#tabDiv'));
$.each(searchList, function(index, result) {
$('#err').hide();
$('<tr>').appendTo($table).append(
$('<td>').text(result.caseNumber)).append(
$('<td>').text(result.caseOwner)).append(
$('<td>').text(result.status)).append(
$('<td>').text(result.issue)).append(
$('<td>').text(result.reason)).append(
$('<td>').text(result.age));
});
});
});
但有了这些信息,我帮不了你更多。
如果您不想删除错误跨度,这可能会有所帮助
var startDate = $("#startDatePicker").datepicker({
dateFormat : 'yy-mm-dd'
});
var endDate = $("#endDatePicker").datepicker({
dateFormat : 'yy-mm-dd'
});
$('#vutton').click(function() {
$.getJSON('ControllerServlet', {
'startDate' : startDate.val(),
'endDate' : endDate.val()
}, function(searchList) {
$('#tabDiv > table').remove(); // here's the trick
var $table = $('<table>').appendTo($('#tabDiv'));
$.each(searchList, function(index, result) {
$('#err').hide();
$('<tr>').appendTo($table).append(
$('<td>').text(result.caseNumber)).append(
$('<td>').text(result.caseOwner)).append(
$('<td>').text(result.status)).append(
$('<td>').text(result.issue)).append(
$('<td>').text(result.reason)).append(
$('<td>').text(result.age));
});
});
});
相关文章:
- 在新表单上使用JavaScript创建多个共享点项目,但将下一页加载延迟到全部创建
- 更新脚本以针对具有递增 ID 的新创建的表行运行
- Sequelize多对多-如何创建新记录并更新联接表
- 我想创建一个添加新表单的按钮
- 无法在 Web SQL 数据库中创建新表
- 正在附加表,而不是创建新表
- 为什么在我的HTML文件中创建新表而不是刷新同一个表
- 我想动态地创建新表,并使用jquery通过相同的按钮删除它
- 当单击在表中创建新行时,它只会短暂出现
- 如何使用Javascript在HTML中的表上创建新行
- 在表单中使用name属性中的增量索引创建新字段时,似乎不考虑变量
- 如何动态创建新的表列
- 从表中选择随机行,然后删除该行并使用该行创建一个新表
- 创建一个表单提交按钮,启用“在新窗中打开”;当用户右键点击时
- 使用javascript创建新的表单字段
- 创建新的HTML表单而不重置之前的输入
- 根据从上一个表单中选择的清单创建一个新表单
- 使用jQuery创建新的(而不是更改)样式表
- prestashop-使用ajax onclick创建新表单
- 使用从PHP /数据库返回的数据创建新表单