单击动态li元素上的事件

时间:2014-04-08 23:55:42

标签: javascript php jquery html css

根据@Jonathan Kuhn的反馈更新了问题,它就像一个魅力

我正在为我的网络应用程序构建一个消息传递系统。

用户应该能够通过消息(ajax)与我沟通

我可以使用jQuery

附加<ul>附加<li>
$('#send').click(function(e){
            e.preventDefault();
            var reply = $('#reply').val();

            var project_id = 44; // just for reference
            $.ajax({
                type: "post",
                url: "<?php echo base_url(); ?>messages/send",
                data:{ msg:reply, project_id:project_id },
                success: function (response) {


                    if(response=="success"){

                        $(".messages").append('<li class="message" id="message">'+reply+'<a id="delete">delete</a></li>');
                        var clearText = "ture";

                    }else{

                    }

                }


            });

哪个工作得很好。但是在删除动态添加的列表元素时遇到问题。

我尝试了bind()on() jQuery函数,但由于我不太擅长,我面临很多问题。

$("#messages").on('click', '#delete', function(event) {
                event.preventDefault();
                var id = 22 ; // just for reference
                $.post( "<?php echo base_url(); ?>messages/delete", { type:'single', id:id } )
                  .done(function( data ) {


                });
                $(this).closest('li').remove();
            });

我的HTML结构如下

<ul class="messages" id="messages">
        <li class="message" id="message">sdaghds<a id="delete">delete</a></li>
    </ul>

1 个答案:

答案 0 :(得分:0)

id="#messages"上有<ul>。删除#,然后.on应该有效。

此外,ID应该在整个页面中是唯一的。所以你不应该有多个message ID。如果您需要多个,请使用类。从<li>

中删除ID