我有一些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,它的工作,我編輯我的答案與一些額外的信息 –
確實是正確的。應該雖然那:) –