我有以下功能:
'countyOfflineNote': function (county) {
console.log(county);
console.log('logged county');
var extra = '';
extra = '...more logic...';
var message = '...some logic...';
var title = 'Create Offline County Note for ' + county.county;
$('body').appModal({
appliedTo: '',
title: title,
type: '',
message: 'Please enter a note for the current county status',
submessage: '',
template: 'simple',
contents: message,
cancel: "<input type='button' value='Cancel' class='button action left cancel' onclick='$EP.modules.appModal.cancel(\"" + county "\");' />",
icon: 'info',
callback: ''
});
$('#support-question').focus();
}
我遇到的问题是输入HTML。当我们将
county
传递给cancel()
函数时,我最终在控制台中看到[object Object]。如何更改传递参数的方式?这是
cancel()
函数:'cancel': function (county) {
county.isOffline = !county.isOffline;
$EP.modules.appModal.close();
}
最佳答案
如果您的$('body').appModal({...})
代码向DOM中添加了元素,您可以1)从onclick
属性中的输入html中删除cancel
处理程序,2)在该输入html中添加一个inputId
这样的ID,并附加一个将元素附加到DOM之后的事件处理程序-将此代码放在$('body').appModal({...})
下:
$('#inputId').click( function(county) {
county.isOffline = !county.isOffline;
$EP.modules.appModal.close();
})
更确切地说:
$('#inputId').click( function() {
county.cancel();
})
并将
cancel
方法添加到county
对象:cancel = function() {
this.isOffline = !this.isOffline;
$EP.modules.appModal.close();
}
关于javascript - onclick()参数成为对象Object,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34622031/