在Jquery中单击按钮即可从动态生成的元素获取数据
我试图通过点击按钮从动态创建的在Jquery中单击按钮即可从动态生成的元素获取数据,jquery,jquery-selectors,jquery-events,Jquery,Jquery Selectors,Jquery Events,我试图通过点击按钮从动态创建的元素中检索数据 生成元素的脚本是: $('.dropdown-menu li a').click(function(){ var $this = $(this); var dropdownid = $(this).data('value'); var surname=$(this).data('surname'); var middlename=$(this).data('middlename');
元素
中检索数据
生成元素的脚本是:
$('.dropdown-menu li a').click(function(){
var $this = $(this);
var dropdownid = $(this).data('value');
var surname=$(this).data('surname');
var middlename=$(this).data('middlename');
var firstname=$(this).data('firstname');
var attendees=$(this).data('attendees');
$('.attendees').append('<div class='+dropdownid+'>'+firstname+' '+middlename+' '+surname+'</div>'+'<button class='+dropdownid+' id=btn-deleteattendee data-id='+dropdownid+' class=remove>X</button>');
});
但是,控制台正在打印以下内容:
attendees: undefined
我也试过:
$('.attendees').on('click','#btn-createclass',function(event){
console.log('createclass button clicked');
event.preventDefault();
var $this = $(this);
$('.attendees').each(function(event){
console.log('result ',$(this).data('id'));
});
但这也不起作用。
非常感谢您提供的任何帮助您需要在
Attenders
元素中迭代按钮元素,该元素具有数据id
属性
您正试图从Attenders
元素获取数据id
值,该元素没有该值
$('.下拉菜单LIA')。单击(函数(){
var$this=$(this);
var dropdownid=$(this.data('value');
变量姓氏=$(this).data('姓氏');
var middlename=$(this.data('middlename');
var firstname=$(this.data('firstname');
var attendes=$(this.data('attendes');
$('.Attendes')。追加(''+firstname+''+middlename+''+姓氏+''+''X');
});
$(文档).on('click','btn createclass',函数(事件){
event.preventDefault();
var$this=$(this);
$('.Attendes[data id]')。每个(功能(事件){
console.log('result',$(this.data('id'));
});
});代码>
- 一,
- 二,
- 三,
- 四,
创建
您确定正确使用了吗?您是否使用了此.id
?您是否看到“createclass按钮已单击”?这不是答案,但可能您还有另一个大问题。据我所知,您已生成多个与会者。然后,您有许多id为btn deleteAnteendee
的按钮。如果是的话,那肯定是错的。这是有效的!非常感谢您指出我的元素中没有任何数据。
$('.attendees').on('click','#btn-createclass',function(event){
console.log('createclass button clicked');
event.preventDefault();
var $this = $(this);
$('.attendees').each(function(event){
console.log('result ',$(this).data('id'));
});