我想知道有没有办法根据函数中传递的参数显示print按钮。这是我创建对话框的代码:
alertInfo: function (message, title, height, width, print) {
$("<div></div>").dialog( {
buttons: {
"Ok": function () {
$(this).dialog("close");
},
//show/hide button if argument 'print' equals to 'Yes'
"Print": function() {
$(this).dialog().printArea();
},
},
close: function (event, ui) { $(this).remove(); },
resizable: false,
title: title,
modal: true,
width: height,
height: width,
overflow:'auto',
position: {
my: "center",
at: "center",
of: window
}
}).html(message);
}
这是我在alerInfo()
函数中传递参数的代码:
$.alertInfo(infoTable,'User Info',800,600,'Yes');
我仍然没有得到这个工作,如果我试图把if语句放在打印按钮错误发生。如果有人可以提供帮助,请告诉我。
答案 0 :(得分:1)
alertInfo: function(message, title, height, width, print) {
var buttons = {
"Ok": function() {
$(this).dialog("close");
}
};
if (print) buttons.print = function() {
$(this).dialog().printArea();
};
$("<div></div>").dialog({
buttons: buttons,
close: function(event, ui) {
$(this).remove();
},
resizable: false,
title: title,
modal: true,
width: height,
height: width,
overflow: 'auto',
position: {
my: "center",
at: "center",
of: window
}
}).html(message);
}
这假设print参数是布尔值
$.alertInfo(infoTable,'User Info',800,600, true); // to show print button
$.alertInfo(infoTable,'User Info',800,600, false); // to not show print button
答案 1 :(得分:1)
您有效地将对象传递给y.Sheets("DTR").Cells.Delete
x.Sheets(1).Range("A1").CurrentRegion.Copy
y.Sheets("DTR").Paste y.Sheets("DTR").[a1]
属性:
buttons
所以你可以做的是根据你的条件动态创建那个对象,然后将动态创建的对象设置为属性。它可能看起来像这样:
{
"Ok": function () {
$(this).dialog("close");
},
"Print": function() {
$(this).dialog().printArea();
}
}