我创建了两个用于管理列表的脚本。一个用于在页面中添加 li 元素并将其保存到数据库,另一个用于删除它。事实是,当我创建 li 元素时,第二个脚本(删除一个)不会对它生效(我必须更新页面才能将其删除)。我怎样才能使它发挥作用?
我留下两个脚本:
添加:
function afegir() {
var fnom=document.getElementById('compranom').value;
var fnum=document.getElementById('quantitat').value;
$.ajax({
data: {
"nom": fnom,
"num":fnum
},
url: 'afegir.php',
type: 'post',
beforeSend: function () {
},
success: function (response) {
if(response!="-1") {
$('.llista').append('<li value="'+fnum+'" id="'+response+'" >'+fnom+'</li>');
}
else{
alert('Error');
}
}
});
}
卸下:
$(document).ready(function(){
$(".list li").click(function() {
var fid=$(this).attr('id');
$.ajax({
data: {
"id": fid
},
url: 'treure.php',
type: 'post',
beforeSend: function () {
},
success: function (response) {
if(response=="si") {
$("#"+fid+"").remove();
}
else{
alert('Error');
}
}
});
});
});
感谢您的帮助。
答案 0 :(得分:2)
用于事件委托......
$(document).ready(function(){
$(".list").on('click','li',function() {
var fid=$(this).attr('id');
$.ajax({
data: {
"id": fid
},
url: 'treure.php',
type: 'post',
beforeSend: function () {
},
success: function (response) {
if(response=="si") {
$("#"+fid+"").remove();
}
else{
alert('Error');
}
}
});
});
});
link here详细了解委派活动
答案 1 :(得分:0)
可以使用live()来获取新创建的元素:http://api.jquery.com/live/
描述:为现在与当前选择器匹配的所有元素附加事件处理程序,将来 。