我有一些HTML弹出一个jQuery UI模式:Push功能,以对象的前面字面
<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
?
感谢快速回复,但对我来说,这并不工作(顺序变成添加和新,添加,取消)。唯一的变化就是取消订单|添加你所做的,对吗?我有jQuery 1.4.4,jQuery UI 1.8.11。还有关于data()的好建议,不知道! –
我编辑了我的答案,我试着jsfiddle与jquery 1.4.4,它的工作,我编辑我的答案与一些额外的信息 –
确实是正确的。应该虽然那:) –