2015-04-26 41 views
1

我在頁面上有幾個刪除href。將參數從href傳遞給jquery對話框

<a href="#" class="delete" data-key=\'{"param1":"'.$id.'", "param2":"'.$id_table.'", "param3":"'.$table.'", "param4":"'.$paginanaam.'", "param5":"'.$template.'", "param6":"'.$lang.'"}\'><i class="fa fa-minus-square fa-lg"></i></a> 

當用戶點擊這個鏈接,我顯示一個jquery框,詢問他是否肯定要刪除。

到目前爲止一切工作正常,但我不能window.location.href與數據鍵參數工作。一些幫助將不勝感激。 我按照這個例子:http://jsfiddle.net/yayh3/3/

<script> 
$(".delete").click(
    function() { 
    $("#dialog-confirm").dialog({ 
     resizable: false, 
     height:170, 
     modal: true, 
     buttons: { 
     "Verwijder": function() { 
      var me = $(this), 
      data = me.data('key'); 
      window.location.href = "pagina_delete.php?id_record="+data.param1+"&id_table="+data.param2+"&table="+data.param3+"&paginanaam="+data.param4+"&template="+data.param5+"&lang="+data.param6; 
     }, 
     Cancel: function() { 
      $(this).dialog("close"); 
     } 
     } 
    } 
); 
    }); 
</script> 
+0

什麼是me.data('key')現在返回,null? – Veverke

回答

0

您需要捕獲單擊元素的上下文。

直接在click事件處理程序中,可以存儲當前值this(它將引用單擊的元素),然後可以在嵌套對話框方法/選項中使用此變量。

在這種情況下,您只需在對話方法中使用var data = $(self).data('key')

$(".delete").click(function() { 
    var self = this; 

    $("#dialog-confirm").dialog({ 
     resizable: false, 
     height: 170, 
     modal: true, 
     buttons: { 
      "Verwijder": function() { 
       var data = $(self).data('key'); 
       window.location.href = "pagina_delete.php?id_record=" + data.param1 + "&id_table=" + data.param2 + "&table=" + data.param3 + "&paginanaam=" + data.param4 + "&template=" + data.param5 + "&lang=" + data.param6; 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 
}); 
相關問題