Php 使用jQuery UI删除元素时,表右侧丢失

Php 使用jQuery UI删除元素时,表右侧丢失,php,jquery,ajax,jquery-ui,html-table,Php,Jquery,Ajax,Jquery Ui,Html Table,我在一个div中有一张表,看起来像这样: <div id='lastInsert'> <h5>Last <span id='quantity'>15</span> successful inserts: </h5> <table> <tbody> <tr>

我在一个div中有一张表,看起来像这样:

<div id='lastInsert'>  
    <h5>Last <span id='quantity'>15</span> successful inserts: </h5>   
            <table>  
            <tbody>  
                <tr>  
                    <th>Id</th>  
                    <th>LN</th>  
                    <th>FN</th>  
                    <th>MI</th>  
                    <th>Location</th>  
                    <th></th>  
                </tr>  
                </tbody>  
                <tbody>  
                <tr id='15166'><td>15166</td><td>Smith</td><td>John</td><td>J</td><td>594491567</td><td><a onclick='deleteClick(15166, "15166")'>Delete?</a></td></tr>  
                <tr id='15165'><td>15165</td><td>Brown</td><td>Charlie</td><td></td><td>594491567</td><td><a onclick='deleteClick(15165, "15165")'>Delete?</a></td></tr>  
                </tbody>  
            </table>  
        </div>  
</div>
我还有一个删除行的AJAX函数:

function deleteClick(id, rowId) {
    filesReset();
    $("#" + rowId).css("background-color", "#FBB");

    $.post("/ajax/delete" , { "id": id, "offset": offset} , function(data){
        if (data) {
            $("#" + rowId).hide("explode", 500, function(){
                $("#" + rowId).remove();
                $("#lastInsert table tbody:last").append(data);
                $("#lastInsert table tr:last").effect("highlight", 1500);
            });
        } else {
            $("#" + rowId).find("td").css("color", "black");
            alert("System is unable to delete the specified record.");
        }
    });
}
当我在表上使用加载时创建的delete函数时,一切正常。但是,当我尝试删除作为AJAX操作submitForm的一部分添加的行时,除了整个表失去了右边框之外,一切都正常。以下是返回以下内容的PHP函数:


为什么边框会消失?

插入函数中$output的最后一行/附件看起来可疑

$output .= "<td><a onclick='deleteClick({$row['fil_id_pk']}, \"" . $row['fil_id_pk'] . "\")'>Delete?</a></td></tr>";
看来应该是这样的

$output .= "<td><a onclick='deleteClick(".{$row['fil_id_pk']}.", \"" . $row['fil_id_pk'] . "\")'>Delete?</a></td></tr>";

它可能会弄乱你桌子的格式。看起来很奇怪,它仍然会正确删除行,但会弄乱格式。在任何情况下,似乎都值得纠正,看看这是否有帮助。

也许问题与表的html有关,您有两个tbody节点,而第一个应该是thead@ivan我试过了。没有影响任何事情我应该提到我正在使用firebug,并在我这样做时观察html的变化,注入的tr中出现了一个奇怪的样式属性:style=不知道为什么会发生这种情况。有时我也会怀疑它。如果我按照您建议的方式更正它,我将不得不去掉大括号,它只是划分代码的开始和结束位置,而不是将字符串拆分为串联。啊,我完全忽略了大括号。这就解释了为什么它会起作用。。。但不幸的是,并不是缺少边框。好吧,修复它的一种方法是只使用$lastInsert table.cssborder-right,1px solid D9D9D9;但如果能知道为什么会发生这种情况,那就太好了。还没有在IE中试用过。
$output .= "<td><a onclick='deleteClick({$row['fil_id_pk']}, \"" . $row['fil_id_pk'] . "\")'>Delete?</a></td></tr>";
$output .= "<td><a onclick='deleteClick(".{$row['fil_id_pk']}.", \"" . $row['fil_id_pk'] . "\")'>Delete?</a></td></tr>";