javascript - 通过单击按钮引用 li 的跨度

标签 javascript php jquery mysql ajax

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

(每个项目在数据库中都有一个唯一的 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>

我的 JavaScript 代码看起来像这样:

  $('.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>

js:

$('#list').on('click', '.deletetab', function(){
    var result = confirm("Are you sure?");

    if (result==true) {
         var parent = $(this).parent();

         $.ajax({
             type: 'POST',
             data: { idToDelete: parent.find('.hidden_id').val() }, //Find hidden ID field within parent div and read it's value
             url: 'delete.php'
         }).done(function() { //success callback
                parent.remove(); 
            }).fail(function(qXHR, textStatus) { //error callback
                alert('Server responded with error status ' + textSatus);
            });           
      }  
    });

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

关于javascript - 通过单击按钮引用 li 的跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20444398/

相关文章:

javascript - jQuery:向 Datepicker 添加月份

javascript - 如何使用html5命名上传的 block ?

javascript - Facebook XFBML登录后,通过JavaScript获取用户信息

PHP列表宽度

javascript - 未捕获的 DOMException : Blocked a frame with origin "domain_name" from accessing a cross-origin frame

php - 如何制作 PHP 测试套件

jquery - 如何使用jQuery创建iframe并显示在页面上?

javascript - 我想编写一个重新排序用户界面?怎么做?

javascript - 在 iframe 中加载 facebook 弹出聊天.. Chrome 扩展

javascript - $error 在 Vuelidate 复选框中不会发生变化