Javascript 通过单击按钮引用li的范围

Javascript 通过单击按钮引用li的范围,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我正在尝试使用php、ajax和mysql创建一个todo应用程序。 应该有一个按钮,一旦点击,就会从屏幕和数据库中删除该项目,但我不知道如何表示我想删除某个项目 (每个项目在数据库中都有一个唯一的id,还有一个文本和包含它的列表中的id) 我的html示例如下: <ul id="list"> <li class="i­tem"> <div class="draggertab"> <img src="im

我正在尝试使用php、ajax和mysql创建一个todo应用程序。 应该有一个按钮,一旦点击,就会从屏幕和数据库中删除该项目,但我不知道如何表示我想删除某个项目

(每个项目在数据库中都有一个唯一的id,还有一个文本和包含它的列表中的id)

我的html示例如下:

 <ul id="list">
    <li class="i­tem">
        <div class="draggertab">
            <img src="imatges/botofletxa.jpg" width="30" height="30">
        </div>
        <div class="deletetab">
            <img src="imatges/botocreu.jpg" width="30" height="30">
        </div> <span>Buy some cookies</span> 
    </li>
</ul>
  $('.deletetab').live('click', function () {
      var result = confirm("Are you sure?");
      if (result == true) {
          $(this).parent().remove();
      }
  });
但是我不知道如何(使用ajax)将信息发送到另一个php文件(连接到数据库),或者应该使用哪个变量


对不起,如果这是一个愚蠢的问题,我是编程新手

我不知道如何呈现列表(ul),假设它是一个
foreach
循环或类似的东西。您可以将每个项目的ID存储在隐藏字段中,以便从js访问其值:

 <ul id="list">
    <li class="i­tem">
        <input type="hidden" class="hidden_id" value="render_id_here" />
        <div class="draggertab">
            <img src="imatges/botofletxa.jpg" width="30" height="30">
        </div>
        <div class="deletetab">
            <img src="imatges/botocreu.jpg" width="30" height="30">
        </div> <span>Buy some cookies</span> 
    </li>
</ul>

在服务器端,您需要在发布的数据中搜索“idToDelete”参数。

首先,您可以将项目的id放在每个项目的数据id属性上

<li class="item" data-id="{{ item_id"}}>
    // the rest of the html
</li>

live()已被弃用并删除。文档将向您展示。谢谢您的回答!我明白了,但我不知道如何在你的ID中输入正确的ID…谢谢!它可以很好地工作,但只适用于已经存在的项,因为新项没有ID。我如何解决这个问题?您应该从服务器返回新ID,以响应添加新项的post查询。之后,在成功回调中插入新的html片段。如何准确地在服务器上检索新id取决于您使用的后端技术。试着用谷歌搜索“MySQL最后一次插入id”(我确信有这样一个函数)。对不起,我不使用灯组,无法确定建议谢谢您的回答!我还不能让它工作,但我明白了。问题是,这不适用于新添加的项目。。。有没有办法在数据库中插入一个项目,获取它们的id并返回它?可以使用mysql_last_id返回最后插入的id,如果使用PDO,则可以使用PDO::lastInsertId。
<li class="item" data-id="{{ item_id"}}>
    // the rest of the html
</li>
$('.deletetab').click(function() {
    var $this, $item;
    $this = $(this);
    $item = $this.closest('.item');
    if (confirm('Are you sure')) {
        $.post('url_to_delete.php', {id: $item.attr('data-id')}, function(data) {
            $item.remove();
        });
    }
});