我有几个这样的div,我用ajax创建它们
.done(function( response ) {
$("#stores").html('');
var iterator = response.retailer;
for (var i=0;i<iterator.length;i++){
$("#stores").html($("#stores").html()+
"<div id="+response.retailer[i].id+" class='panel panel-default '>"+
"<div class='panel-body'>"+
"<p> Name: "+response.retailer[i].name+"<p>"+
"<p> Address: "+response.retailer[i].address+"<p>"+
" <button id='AddAndSave' class='btn btn-success col-md-offset-10'><span class='glyphicon glyphicon-plus'></span></button>"+
"</div>"+
"</div>");
}
})
如果你看到,在div我有一个按钮,这个按钮,当我点击它,我想采取该div的所有内容并将其保存在变量中,我究竟能做到这一点?任何参考?
答案 0 :(得分:0)
嗯,首先,不要在该按钮上使用ID ,你肯定会有不止一个。所以,使用类:
.done(function( response ) {
$("#stores").html('');
var iterator = response.retailer;
for (var i=0;i<iterator.length;i++){
$("#stores").append("<div id="+response.retailer[i].id+" class='panel panel-default '>"+
"<div class='panel-body'>"+
"<p> Name: "+response.retailer[i].name+"<p>"+
"<p> Address: "+response.retailer[i].address+"<p>"+
" <button class='AddAndSave btn btn-success col-md-offset-10'><span class='glyphicon glyphicon-plus'></span></button>"+
"</div>"+
"</div>");
}
})
然后,现在,您无法将事件附加到该元素,因为它是在$(document).ready();
之后创建的,您需要将该事件委托给文档本身(或任何“静态”)父母):
$(document).on('click', '.AddAndSave', function(){
// Do some stuff on click on .AddAndSave
});
另外,请注意我用append()方法替换了你的html()方法:它肯定会更有效率。