使用带有由变量传递的id的jquery remove()。可能?

时间:2010-08-25 14:08:02

标签: php jquery dom asynchronous

这是功能

function deleteItem(id) {
    $.post("_asyncpage.php",
        {id:id},
        function (result) {
            if (result == true) {
                $('#'+id).remove();
            }
        }, "json"); 
}

因此,为了解释,该函数接收一个id,发送到一个在db上执行随机内容并返回true / false的页面。

里面的函数检查结果,如前所述可以是真/假。 如果为true,则继续删除与传递的id匹配的dom元素。

db正确更新但.remove()不起作用......有人知道为什么吗? :(

以下是html结构的示例。 TD内的表是要删除的表。

<td width="120" valign="top" id="13_02">
   <table cellspacing="0" cellpadding="0" class="tableProg" id="1">
   <tbody>
      <tr>
         <td colspan="3"><h4 style="margin: 0pt;">Title</h4></td>
      </tr>
      <tr>
         <td colspan="3">h. 13:35</td></tr><tr><td width="74"><span style="font-weight: bold; color: rgb(0, 102, 204);">Su</span>: TV</td>
         <td width="22"><a href="javascript:openEditItem('2010/08/24','1')"><img src="static/images/edit.gif"></a></td>
         <td width="22"><a href="javascript:deleteItem('1')"><img src="static/images/delete.gif"></a></td>
      </tr>
   </tbody>
   </table>
</td>

4 个答案:

答案 0 :(得分:2)

更新:根据您提供的其他信息,问题可能与您的ID有关。对于以数字开头的ID无效。这可能会导致问题。


如果你传递给函数的id在开头已经有#,那么你不想连接它。

此外,如果您收到的回复是字符串,那么您可能希望将结果与字符串'true'进行比较。

if (result == 'true') {...

答案 1 :(得分:0)

我会检查你的result。你将true作为数字(1)返回吗?或收到时它是一个字符串?

由于您的dataType为json,因此result的值必须为json string或已解析的object,所以我敢打赌这个

if (result == true) {

永远不会过去。

答案 2 :(得分:0)

$('#'+id).remove();是否正在执行?

alert($('#'+id).length)会怎样?你应该期待一个答案&gt; 0

此外,result的类型是什么?试试alert(typeof(result));这有助于您确定if支票

的正确比较

答案 3 :(得分:0)

只是为了提供更多信息,这是需要通过jquery删除的结构的一部分。

<td width="120" valign="top" id="13_02">
   <table cellspacing="0" cellpadding="0" class="tableProg" id="1">
   <tbody>
      <tr>
         <td colspan="3"><h4 style="margin: 0pt;">Title</h4></td>
      </tr>
      <tr>
         <td colspan="3">h. 13:35</td></tr><tr><td width="74"><span style="font-weight: bold; color: rgb(0, 102, 204);">Su</span>: TV</td>
         <td width="22"><a href="javascript:openEditItem('2010/08/24','1')"><img src="static/images/edit.gif"></a></td>
         <td width="22"><a href="javascript:deleteItem('1')"><img src="static/images/delete.gif"></a></td>
      </tr>
   </tbody>
   </table>
</td>