Can I dynamically add buttons to a Jquery UI Dialog box?
I am trying to add a new button to a jquery UI Dialo开发者_Python百科g box based upon some input.
My code looks like this:
function editTour(ID, myDate) {
$.post("/Admin/EditTour", { TourID: ID },
function (data) {
$('#EditTour').html(data);
$('#EditTour').dialog({
modal: true,
width: 400,
resizable: false,
title: formatDate(myDate),
buttons: {
"Save": function () {
//some junk logic removed
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
}); //end post
}
What I want to do in this function is add a "Delete" button if the ID passed in is 0.
I know I can just create a cut and paste copy of the editTour function to manually add in the "Delete" button... but I was hoping for something cleaner.
Try this, it may help you.
function editTour(ID, myDate) {
$.post("/Admin/EditTour", { TourID: ID },
function (data) {
$('#EditTour').html(data);
$('#EditTour').dialog({
modal: true,
width: 400,
resizable: false,
title: formatDate(myDate)
});
var myButtons = {
"Save": function () {
//some junk logic removed
},
"Cancel": function () {
$(this).dialog("close");
}
};
if(ID == 0) {
myButtons["Delete"] = function() {
// Delete logic here.
}
}
$('#EditTour').dialog('option', 'buttons', myButtons);
}
); //end post
}
精彩评论