我有一个jQuery对话框:
// Configure buttons
var dialogButtons = {};
dialogButtons[buttonConfirm] = function () {
$.ajax({
type: "Post",
url: href,
cache: false,
success: function (data) { var func = success; window[func](data); }
});
$(this).dialog("close");
};
dialogButtons[buttonCancel] = function () {
$(this).dialog("close");
};
// Configure dialog
$dialog.dialog(
{
modal: true,
closeOnEscape: true,
resizable: false,
buttons: dialogButtons
});
// Opening dialog
$dialog.dialog('open');
我的问题:我想在我的按钮上设置一个特定的类'btn'。我怎么能这样做?
由于
答案 0 :(得分:1)
widget
方法,它返回由对话框本身组成的元素。将此与定位ui-button
类相结合,您可以得到您想要的内容:
$dialog.dialog('widget') // Grab widget (UI element)
.find('.ui-button') // Locate buttons within
.addClass('btn'); // hadd btn class to them
编辑:此外,这是一个例子:http://jsfiddle.net/8WckB/
答案 1 :(得分:1)
// Configure dialog
$dialog.dialog({
modal: true,
closeOnEscape: true,
resizable: false,
buttons: dialogButtons,
open: function(e, ui) {
$(this).parents(".ui-dialog").find(".ui-dialog-buttonset"); // here is your
// button container
$(this).parents(".ui-dialog").find(".ui-dialog-buttonset .ui-button").addClass("btn"); // whereas this would select
// all buttons in button container
// you could even use the widget method
// $(this).dialog("widget").find(".ui-dialog-buttonset .ui-button")
}
});
答案 2 :(得分:1)
如果您查看源代码,在_createButtons
的方法jquery.ui.dialog.js
中,您会看到按钮文本索引的哈希被视为属性集合,如果它不是一个功能。所以你可以做到以下几点:
var $dlg = $('#dlg').dialog({
buttons: {
'firstButton': {
'click': function() {
$dlg.dialog('close');
},
'text' : 'OK',
'class': 'myclass'
},
'Cancel': function(){
$dlg.dialog('close');
}
}
});
这是布拉德小提琴演示代码http://jsfiddle.net/uWnpy/
的一个分支