jQuery UIモーダルをポップアップするHTMLがあります:
<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>
、3 番目のボタンが次の順序でモーダルに配置されることを意味します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
?