如何调用动态生成内容的click事件?

时间:2014-12-31 06:18:48

标签: javascript php jquery

我在控制器中显示以下数据..

<?php
$i=0;
foreach($this->session->userdata('data') as $item)
{
    //echo "<pre>"; print_r($item); echo "</pre>";
    $query = $this->db->query("SELECT product_name FROM phppos_product WHERE  
product_id='".$item['product_id']."'");
    foreach ($query->result() as $row)
{
$product_name=$row->product_name;

}
    echo "<tr>";
    echo "<td>".$product_name."</td>";
    echo "<td>".$item['quantity']."</td>";
    echo "<td>".$item['unit']."</td>";
    echo "<td>".$item['unit_rate']."</td>";
    echo "<td><a href='javascript:void(0)' rownum='".$i."' class='remove_from_cart'><img
 src='images/close.png'/></a></td>";
    echo "</tr>";
    $i++;
 }
 ?>

ajax成功的视图文件...

    $.post( followurl, {'product_id' :
      product_id,'quantity':quantity,'unit':unit,'unit_rate':unit_rate}, function(data){

        //alert(data)   ;   
        $("#cart_details").html(data);

        $("#quantity").val('');
        $("#unit").val('');
        $("#unit_rate").val('');
        $("#add_to_cart_status").css("visibility", "hidden");           
        });

     $(".remove_from_cart").click(function() {
     alert("dsasdas");
     var array_index = $(this).attr('rownum');
      alert(array_index);
     var followurl  ='<?php echo base_url()."index.php/placeorder_ajax/remove_from_cart";?>';
     $.ajax({
            method: "GET",
            url: followurl,
            data : {'array_index':array_index}
            success: function(data, status){
                                                $("#cart_details").html(data);
                                            }
            });
    });

现在我想点击remove_from_cart类调用另一个函数。但是点击remove_from_cart类就不会发出警报。所以任何人都有任何想法??

请注意,我正在控制器中显示数据

2 个答案:

答案 0 :(得分:0)

它不起作用,因为您在页面上存在项目之前附加事件。

在添加内容或使用事件委派时附加事件。

$(document).on("click", ".remove_from_cart", function() {
    alert("dsasdas"); 
});

答案 1 :(得分:0)

$("#cart_details").on('click', '.remove_from_cart', function () {
        alert("dsasdas");
        var array_index = $(this).attr('rownum');
        alert(array_index);
        var followurl = '<?php echo base_url() . "index.php/placeorder_ajax/remove_from_cart"; ?>';
        $.ajax({
        method: "GET",
                url: followurl,
                data : {'array_index':array_index}
        success: function(data, status){
        $("#cart_details").html(data);
        }
    });
    });

你专注于轰鸣声部分

$("#cart_details").on('click', '.remove_from_cart', function () {
    alert("dsasdas");
});