我可以动态地将按钮添加到Jquery UI对话框吗?

时间:2011-05-16 17:33:58

标签: jquery-ui

我正在尝试根据一些输入向jquery UI对话框添加一个新按钮。

我的代码如下所示:

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
}

如果传入的ID为0,我想在此功能中添加“删除”按钮。

我知道我可以创建editTour函数的剪切和粘贴副本,手动添加“删除”按钮......但我希望能有更清洁的东西。

1 个答案:

答案 0 :(得分:40)

试试这个,它可能对你有帮助。

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
}