我有一個選擇下拉菜單,我可以顯示/從我的腳本除了一個條件輸出。我遇到的麻煩是刪除/刪除由$ .each創建的行。我對js仍然很陌生,我在網上搜索解決方案,但仍然無法實現。這是我的代碼到目前爲止。jQuery處理來自ajax響應的錶行
<table id="view_programs" class="table table-striped table-bordered">
<thead>
<tr>
<th>Year</th>
<th width="12%">Action</th>
</tr>
</thead>
<tbody>
<tr id="toBeRemoved">
<td colspan="2">No program selected.</td>
</tr>
</tbody>
</table>
腳本
if(selectedValue == '') {
$("#delbutton").hide();
$("#toBeRemoved td").remove();
$("#toBeRemoved").append(
$("<td colspan='2'>").html("No program selected.")
).appendTo('#view_programs');
}
else {
$.ajax({
url: '<?php echo site_url("query.php");?>',
type: 'post',
data: {option: selectedValue},
dataType: 'json',
success: function(response) {
$("#delbutton").show().attr("href", "delete/program/"+encodeURIComponent(selectedValue));
if(jQuery.isEmptyObject(response)) {
$("#toBeRemoved td").remove();
$("#toBeRemoved").append(
$("<td colspan='2'>").html("No records found.")
).appendTo('#view_programs');
}
else {
var trHTML = '';
$.each(response, function(key, value) {
trHTML += "<tr><td>"+value+"</td><td>"+value+"</td></tr>";
});
$('#view_programs').append(trHTML);
}
console.log(response);
}
});
}
更新: 取得的成績,我想感謝西蒙先生對我的脫落一些輕。我懷疑我的代碼可能會更好,所以我願意接受任何建議。
改變了這種
<tbody>
<tr id="toBeRemoved">
<td colspan="2">No program selected.</td>
</tr>
</tbody>
到此
<tbody class="toBeRemoved">
<tr>
<td colspan="2">No program selected.</td>
</tr>
</tbody>
這
$('#view_programs').append(trHTML);
到此
$('.toBeRemoved').append(trHTML);
並把所有的#toBeRemoved到.toBeRemoved
你能展示所有相關的html代碼嗎? – indubitablee 2015-02-06 14:03:58
您總是從$(「#toBeRemoved」)中刪除,但yoyr每個函數都在$('#view_programs')中直接創建TR的問題 – nanndoj 2015-02-06 14:07:39
問題不清楚,請明確提出代碼和問題,以便我們可以幫助您.. – Alok 2015-02-06 14:08:23