¿Puedo agregar botones dinámicamente a un cuadro de diálogo de la interfaz de usuario de Jquery?

Estoy tratando de agregar un nuevo botón a un cuadro de diálogo de la interfaz de usuario de jquery basado en alguna entrada.

Mi código se ve así:

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
}

Lo que quiero hacer en esta función es agregar un botón "Eliminar" si la ID pasada es 0.

Sé que puedo crear una copia de cortar y pegar de la función editTour para agregar manualmente el botón "Eliminar" ... pero esperaba algo más limpio.

preguntado el 16 de mayo de 11 a las 17:05

1 Respuestas

Prueba esto, puede que te ayude.

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
}

Respondido el 20 de junio de 15 a las 00:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.