我有一些 html 来弹出一个 jQuery UI 模式:
<a href="my/url" class="popup">Click me</a>
使用此 javascript 代码:
$('.popup').click(function() {
var a = this;
var dialog = $('<div>').load($(a).attr('href'), function() {
var form = dialog.find('form');
dialog.dialog({
modal: true,
title: $(a).attr('title'),
buttons: {
Add : function () {
$.post($(form).attr('action'), $(form).serialize());
dialog.dialog('close');
},
Cancel: function () {
dialog.dialog('close');
}
}
});
if ($(a).attr('data-third')) {
// Add here a button
}
});
return false;
});
这个想法是模态中的资源包含一个表单,在模态提交时表单被提交。现在,当<a href="my/url" class="popup" data-third="Add & new">Click me</a>
存在时,这意味着第三个按钮按以下顺序放置在模式中:Cancel
| Add
| Add & new
.
我试过这段代码:
if($(a).attr('data-third')) {
var buttons = dialog.dialog('option', 'buttons');
buttons[$(a).attr('data-third')] = function(){
// Callback here
}
dialog.dialog('option', 'buttons', buttons);
}
我有一个新按钮,但顺序是Add & new
| Cancel
| Add
. 我怎样才能确保订单是Cancel
| Add
| Add & new
?