我将其记录为“已删除”并且我不知道如何使其特定于每个ID。 这是我的HTML:
<ul>
<li id="apple">
<label><input type="radio" name="list" value="apple">Apple</label>
<button class='remove'>delete</button>
</li>
<li id="Orange">
<label><input type="radio" name="list" value="orange">Orange</label>
<button class='remove'>delete</button>
</li>
<li id="pear">
<label><input type="radio" name="list" value="pear">Pear</label>
<button class='remove'>delete</button>
</li>
<li id="banana">
<label><input type="radio" name="list" value="banana">Banana</label>
<button class='remove'>delete</button>
</li>
</ul>
这是我的功能
$("ul").on("click", "button", function() {
alert('Are you sure you want to remove?');
$(this).fadeOut(400, function(){
$(this).parent().remove();
console.log('removed');
});
});
PS。我希望函数按以下顺序执行; 1.用户点击“删除” 2.确认他们确定 3.淡出并删除 4.删除后,记录删除带有“id”的项目
答案 0 :(得分:0)
在删除之前,只需获取父级的ID即可。
var stations = JsonConvert.DeserializeObject<List<Station>>(json);
答案 1 :(得分:0)
您可以在删除之前获取ID。试试这个:
var id = $(this).parent().attr('id');
$(this).parent().remove();
console.log('removed ['+id+']');
作为旁注,alert
不是确认对话框,只是一个信息弹出窗口。您应该使用if(confirm('Are you sure you want to remove?'))
。
答案 2 :(得分:0)
步骤1:确认用户想要删除它
var confirmed = confirm("Are you sure you want to delete this item?");
if(confirmed){ //..if true
//.. continue
}
第2步:淡出,记录ID并删除
var item = $(this).closest('li'); //get the LI element
var id = item.attr("id");
item.fadeOut("slow", function(){
//when fade out finishes continue
item.remove(); //delete the element
console.log(item.attr('id'));
});
整个代码可能看起来像这样
$('.remove').click(function(){
var confirmed = confirm("Are you sure you want to delete this item?");
if(confirmed){
var item = $(this).closest('li');
var id = item.attr('id');
item.fadeOut("slow", function(){
item.remove();
console.log("Removed item with ID: " + id);
});
}
});