Вы определяете модальное 2 раза, глобальное и внутри doModal ()
Внутри функции, которую вы вызываете для document.ready (), вы назначаете кнопки модальным, определенным в глобальной области видимости.Но внутри doModal () также существует локально определяемая переменная modal, которая вам не назначает кнопки.
Я бы определил модал внутри функции ready () и передал бы ее в качестве аргумента doModal ():
function doModal(modal)
{
modal.text(modal.content);
modal.attr('title', modal.title);
modal.dialog('destroy');
modal.dialog({
modal:true,
resizable:false,
draggable:false,
buttons: modal.buttons
});
}
$(document).ready(function(){
var modal = $('<div id="modal"><p></p></div>');
modal.title = 'Are you sure?';
modal.content = 'Are you sure? Deleting a product cannot be undone.';
modal.buttons = {
thisone: function(){
alert('you clicked this one');
}
};
doModal(modal);
});
или передать только динамические параметры doModal ():
function doModal(options)
{
var modal = $('<div id="modal"><p></p></div>');
modal.text(options.content);
modal.attr('title', options.title);
modal.dialog('destroy');
modal.dialog({
modal:true,
resizable:false,
draggable:false,
buttons: options.buttons
});
}
$(document).ready(function(){
doModal(
{
title :'Are you sure?',
content :'Are you sure? Deleting a product cannot be undone.',
buttons : {
thisone: function()
{
alert('you clicked this one');
}
}
}
);
});