这是我的代码
var addproduct = {
init:function(){
var footer = $("<div class='footer'></div>");
var confirmButton = $("<button class='dbtn'>confirm</button>").on('click',this.confirm);
var cancelButton = $("<button class='dbtn'>cancel</button>").on('click',this.cancel);
d.append(footer.append(confirmButton,cancelButton));
$('body').append(d)
},
getData:function(){
var data={};
d.find('#basic_info :input').each(function(){
data[$(this).attr('name')] = $(this).val()
});
console.log(data);
return data;
},
confirm:function(e){
console.log(e.data);
},
cancel:function(){
alert(2);
}
}
当我单击确认按钮时,我想在“d”中提交表单,所以我想使用“getData”函数来获取所有表单数据,
这就是我所做的
var confirmButton = $("<button class='dbtn'>confirm</button>").on('click',this.getData,this.confirm);
//output: function()
所以我猜传递给处理程序的数据不能是一个函数吗???
然后我像这样更改确认功能
confirm:function(){
var data = this.getData()
console.log(data);
},
this will not work too , because the 'this' keyword is not the addproduct object,but the confirm button '<button>confirm</button>';
那么如何将getData函数的返回数据传递给confirm函数??????
为什么'this'不是addproduct对象???