我有一个脚本即时写作,使用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(),它被分配给“edit”,显示其下面的表单。然而,我的问题是这个jQuery对返回的数据不起作用,我试过谷歌而无法搞清楚,有什么想法吗?
jQuery for edit function ...
// 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);
});
};
答案 0 :(得分: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;
});
答案 1 :(得分: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;
});
on
适用于当前元素和未来元素(通过ajax等加载..)
on可从jQuery 1.7+获得。如果您使用的是以前版本的jQuery,请考虑live