我有一个系统,你可以创建一个房子和一些人。创建房屋后,然后单击它,将显示一些信息。你也有机会删除房子。
但是,如果您点击新房子,系统现在将忘记之前的点击。因此,我点击的两个房屋都将被删除。
您可以在JSFIDDLE
中对其进行测试这一切都发生在我的点击功能中:
var objHouse = $('#' + oHouse.id)
objHouse.click(function(){
$('#WindowDisplayCarInfo').hide();
$('#WindowDisplayPersonInfo').hide();
$("#WindowDisplayHouseInfo").show();
$('#ShowId').text("ID: " + this.id);
$('#ShowStreetName').text("Street Name: " + oHouse.StreetName);
$('#ShowNumber').text("Number: " + oHouse.Number);
$('#ShowInhabitants').empty();
$('#ShowMaxInhabitants').text("Max inhabitants: " + oHouse.MaxPeople);
for(var i = 0; i < oHouse.aPeople.length; i++)
{
$('#ShowInhabitants').append("<br />"
+"<br />" + "ID: " + oHouse.aPeople[i].id
+"<br />" + "Name: " + oHouse.aPeople[i].Name
+"<br />" + "Last Name: " + oHouse.aPeople[i].Lastname
+"<br />" + "Age: " + oHouse.aPeople[i].Age
+"<br />" + "Gender: " + oHouse.aPeople[i].sGender
);
}
$('.DeleteHouse').click(function()
{
$(objHouse).children().each(function(){
$(this).appendTo($('#container')).css({"top":"" , "left":"", "display":"block"});
});
$(objHouse).remove();
$("#WindowDisplayHouseInfo").hide();
});
});
}
(从JSFIDDLE的第130行开始。)
希望你能教我一两招。 : - )
答案 0 :(得分:2)
这可能不是很好的做法,但在30分钟之后,我可以想出所有这些。它只是从右上方的框中提取ID,并仅删除所选的框。 “不良做法”可能是次要部分。为了使它稍微好一点,你可能想要利用indexOf()
找到ID的开头而不仅仅是整数4,因为该ID框的结构会发生变化。
$('.DeleteHouse').click(function()
{
$(objHouse).children().each(function(){
$(this).appendTo($('#container')).css({"top":"" , "left":"", "display":"block"});
});
var currentID = $("#ShowId").html().substr(4);
console.log(currentID);
$("#"+currentID).remove();
$("#WindowDisplayHouseInfo").hide();
});