尝试动态更改多个jQuery UI对话框()按钮。
以下代码的问题是对话框的第一个实例()只显示一个按钮。应显示两个按钮。
$(function(){
var dlg = $('#message');
dlg.dialog({
autoOpen:false,
modal:true,
width: 500,
close: function() {
if (seen==0 && ans > 0) {
cnt++;
seen++;
dlg.html('Here is a second message');
dlg.dialog(
'option',
'buttons',
[{
text: 'OK',
click: function() {
$(this).dialog('close');
}
}]
);
dlg.dialog('open');
}
}
});
$('#myDiv').hover(
function() {
//Hover-in
if (cnt < 1 || (cnt > 2 && cnt < 4) || (cnt > 5 && cnt < 7)) {
var msg = 'First display text goes here';
dlg.html(msg);
dlg.dialog(
'option',
'buttons',
[{
text: 'Download',
click: function() {
ans++;
$(this).dialog('close');
},
text: 'Not now',
click: function() {
$(this).dialog('close');
}
}]
);
dlg.dialog('open');
}
cnt++;
},
function() {
//Hover-out
//need this to prevent duplicating hover-in code (double-display dlg)
}
);
}); //END document.ready
答案 0 :(得分:15)
我尝试将Object
类型用于buttons
并且有效:
dlg.dialog(
'option',
'buttons', {
"Download": function () {...},
"Not now": function () {...}
}
);
对象:键是按钮标签,值是单击关联按钮时的回调。
编辑:但是你的数组中有错误,你必须有一个对象数组,而且缺少{
和}
。
'buttons', [
{
text: "Download",
click: function () {...}
},
{
text: "Not now",
click: function () {...}
}
]