我有一个包含三列[1]类型,[2]名称和& [3]删除。该表的ID是“physicianTable”。
这是表的格式。
<table width="100%" border="0" cellspacing="0" cellpadding="3" style="font-size:12px;" id="physicianTable">
<tr>
<td align="right" valign="top"><strong>Type</strong></td>
<td align="left" valign="top"><strong>Name</strong></td>
<td width="55" align="center" valign="top"><strong>Remove</strong></td>
</tr>
<?php echo $doctorRow;?>
</table>
另外$ doctorRow看起来像这样:
$doctorRow .= '<tr class="residentDoctorID_'.$docRecid.' doctorRow '.$docRecid.'">
<td align="right"><strong>'.$type.':</strong></td>
<td align="left">'.$name.'</td>
<td align="center">
<a href="'.$docRecid.'" class="remove">
<img src="../../../images/1307661708_delete.png" width="16" height="16">
</a>
</td>
</tr>';
当我加载页面时,表格会显示类型和名称,并带有“删除”类的img以删除该行。我删除的行正常运行。
我无法工作的部分是向表中添加一个新行。要加载的数据采用tr的形式。我调用的页面有一个php echo来返回一个表格行。
echo '<tr>
<td align="right"><strong>'.$recordType.'</strong></td>
<td class="name">'.$doctorName.'</td>
<td align="center">
<a href="'.$recordID.'" class="remove">
<img src="../../../images/1307661708_delete.png" width="16" height="16">
</a>
</td>
</tr>';
这是我称之为的jquery ajax:
$('.addPysician').live('click', function(){
var recordID = $('.doctorID option:selected').val();
var reskey = $('.reskey').val();
var href = 'doctor/editResidentDoctor.php'
$('.fade').remove();
$.ajax({
url: href,
type: 'get',
dataType: 'html',
data: 'action=add&doctorID='+recordID+'&reskey='+reskey,
success: function(resp){
$('#physicianTable > tbody').append(($(resp).html()));
$('.doctorID').val('');
alert(resp);
}
});
});
我打算这样做是[1]取下拉框的值.doctorID(这个有用),[2]得到隐藏字段的值.reskey(这个有效),[3]得到目标url作为变量'href'(这个工作),[4]调用get ajax请求并返回信息(表行)并将其插入#physicianTable的末尾(这是不工作的部分),并且[5]将dropdown .doctorID设置为空白(这可行)。
当我按下按钮.addPhysician时,我将其作为ajax请求中success条款的resp:
<tr class="residentDoctorID_2308 doctorRow 2308">
<td align="right"><strong>MMS, PA-C</strong></td>
<td class="name">Dr. lastName, firstName</td>
<td align="center">
<a href="2308" class="remove">
<img src="../../../images/1307661708_delete.png" width="16" height="16">
</a>
</td>
</tr>
但是,只有这个插入到我的表中:
<td align="right"><strong>MMS, PA-C</strong></td>
<td class="name">Dr. lastName, firstName</td>
<td align="center">
<a href="2308" class="remove">
<img src="../../../images/1307661708_delete.png" width="16" height="16">
</a>
</td>
正如你所看到的,我错过了我需要的类的tr。为了解决这个问题,我将表标签放在php echo中的tr周围。这在Firefox中不起作用,因为它确实返回了我想要的tr,但它将它包装在tbody标签中,弄乱了表格格式。
任何人都可以告诉我一种方法将完整的php插入到我的表的末尾吗?我试图在我的示例中做到彻底,但如果您需要更多信息来帮助回答我的问题,请告诉我。
答案 0 :(得分:3)
.html()
将html包含在对象中,在您的情况下,它将是<td>
。
只需取出.html()
,就应该是金色的
编辑:哦,你可以打开它。
$('#physicianTable > tbody').append(resp);
答案 1 :(得分:0)
我看到你试图将它附加到一个tbody,但我没有看到你的标记中有一个tbody。您使用的是但没有显示标记的那部分吗?如果没有,那就把它附在你的桌子上:
$('#physicianTable').append(...)