Подтвердить что ты не робот

Могу ли я динамически добавлять кнопки в диалоговое окно JQuery UI?

Я пытаюсь добавить новую кнопку в диалоговое окно jquery UI Dialog на основе некоторого ввода.

Мой код выглядит следующим образом:

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
}

То, что я хочу сделать в этой функции, - это добавить кнопку "Удалить", если идентификатор передан в 0.

Я знаю, что могу просто создать копию и вставить копию функции editTour, чтобы вручную добавить кнопку "Удалить"... но я надеялся на что-то более чистое.

4b9b3361

Ответ 1

Попробуйте это, это может вам помочь.

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
}