0

我有一个正在编写的脚本,它使用 AJAX 将记录插入我的数据库。

完成此操作后,数据将按原样回发...

 Print "<li>"; 
         Print "<span class='cost'>".$bill . "</span> ";
         Print "<h4 class='bill-name'>".$$billname . "</h4> ";
         Print "<p class='bill-details'><span class='bill-category'>".$billdescription . "</span> "; 
         Print "<span class='bill-description'>". $billcolour . "</span></p>"; 
     echo "<a href='#' class='edit-bill'>edit</a> 

         <form class='bill-upd'>
         <input type='hidden' value='".$rand."' name='rand2' id='rand2'>
            <input type='hidden' value='". $billname."' name='billid' id='billid''>
            Total <input type='text' id='total' name='total' /><br />
            Bill name<input type='text' id='bill-name' name='bill-name' /><br />
           bill descriptiion <input type='text' id='bill-description' name='bill-description' /><br />
            bill colour<input type='text' id='bill-colour' name='bill-colour' />
        <input type='button' value='submit' onClick='updateBill();' />
        </form>   

         <form class='delete-bill'>
             <input type='hidden' value='".$info['rand']."' name='rand2' id='rand2'>

        <input type='button' value='delete' class='delete' />
        </form>   

         "; 
         echo "</li>";

当前页面上的表单,在同一标记中使用 jQuery 函数,例如分配给“编辑”的 slideToggle(),以显示其下方的表单。然而,我的问题是这个 jQuery 对返回的数据不起作用,我试过谷歌但无法弄清楚,有人知道吗?


用于编辑功能的 jQuery...

// Show bill edit information 

$('.edit-bill').click(function(){
    $(this).next('.bill-upd').slideToggle();
    return false;
                           });

AJAX

function insertBill()
{
    $.post('insert_bill.php', $('#insertbill').serialize(), 
        function(data) {
        $('#bills').append(data);
    });
};
4

2 回答 2

2

或者你可以改变

$('.edit-bill').click(function(){
    $(this).next('.bill-upd').slideToggle();
    return false;
});

$('.edit-bill').on("click",".edit-bill",function(){
    $(this).next('.bill-upd').slideToggle();
    return false;
});
于 2012-04-23T20:53:26.907 回答
1

改变这个

$('.edit-bill').click(function(){
    $(this).next('.bill-upd').slideToggle();
    return false;
});

$(document).on("click",".edit-bill",function(){
    $(this).next('.bill-upd').slideToggle();
    return false;
});

http://api.jquery.com/on/

on将适用于当前元素和未来元素(通过 ajax 左右加载..)

on 可从 jQuery 1.7+ 开始使用。如果您使用的是以前版本的 jQuery,请考虑使用live

于 2012-04-23T20:08:19.217 回答