Jquery load clicked link si se confirma desde el cuadro de diálogo

Tengo este código jquery:

    $("#deletec-box").dialog({
    autoOpen:false,
    resizable:false,
    height:230,
    modal:true,
    buttons:{
        "Confirm":function(){
            window.location=$("a[id*='deletec-confirm']").attr('href');
            $(this).dialog("close");
        },Cancel:function(){
            $(this).dialog("close");
        }
    }
});

$("a[id*='deletec-confirm']").click(function(){
    $("#deletec-box").dialog("open");
    return false;
});

Y en la página web tengo:

<a href="?action=delc&cid=2" id="deletec-confirm2" title="Delete This Record">Delete</a>
<a href="?action=delc&cid=3" id="deletec-confirm3" title="Delete This Record">Delete</a>

Cuando hace clic en el segundo enlace de arriba, utiliza la URL del primer enlace para cargar. ¿Cómo puedo hacer que el cuadro de diálogo de jquery obtenga la URL correcta en función del enlace en el que se hizo clic arriba? Todo lo que quiero hacer es si hacen clic en el enlace de eliminación que pidió confirmar, si hacen clic en el botón confirmar en el cuadro de diálogo, quiero la URL en la que originalmente hicieron clic para continuar.

preguntado el 27 de agosto de 11 a las 21:08

1 Respuestas

Tengo dos sugerencias:

  1. Utiliza API de datos jQuery
    La idea aquí es almacenar la información apropiada en una ubicación conocida y usarla dentro de su diálogo. Por ejemplo:

    $("#deletec-box").dialog({
        autoOpen:false,
        resizable:false,
        height:230,
        modal:true,
        buttons:{
            "Confirm":function(){
                window.location=$('#deletec-box').data('loc');
                $(this).dialog("close");
            },Cancel:function(){
                $(this).dialog("close");
            }
        }
    });
    
    $("a[id*='deletec-confirm']").click(function(){
        $('#deletec-box').data('loc', $(this).attr('href'));
        $("#deletec-box").dialog("open");
        return false;
    });
    
  2. Modifique el cuadro de diálogo cuando sea necesario con los botones adecuados. Sin embargo, esto puede ser demasiado detallado y más trabajo del que vale más la sobrecarga de crear muchos objetos.

    $("#deletec-box").dialog({
        autoOpen:false,
        resizable:false,
        height:230,
        modal:true,
    });
    
    $("a[id*='deletec-confirm']").click(function(){
        loc = $(this).attr('href');
        $('#deletec-box').dialog({
            buttons:{
                    "Confirm":function(){
                        window.location=loc;
                        $(this).dialog("close");
                    },Cancel:function(){
                        $(this).dialog("close");
                    }
            }
        });
        $("#deletec-box").dialog("open");
        return false;
    });
    

Respondido 28 ago 11, 02:08

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