2016-11-23 73 views
0

我有TWIG的碼組合這個HTML行:如何通過DATA-值jQuery函數

<a href="#" class="aaa" data-redirect="{{ path('rezervace_smazat', {'terminId':rezervaceTabulka[i]['id_rezervace']}) }}"> delete </a> 

該生產線是循環的一部分,所以在最後的結果也可以是多個具有不同值數據重定向屬性。

我需要傳遞的值數據重定向到jQuery的功能,但只有一個特定的值,當我點擊超文本鏈接。除了線,在這裏我需要重定向到不同的URL的

$(document).ready(function() { 
     $('.aaa').on("click", function(e) { 
       e.preventDefault(); 
       $.confirm({ 
         title: 'Smazat termín', 
         message: 'Opravdu chcete smazat tento termín?', 
         labelOk: 'Smazat', 
         labelCancel: 'Storno', 
         onOk: function() { 
           window.location.assign($(this).attr("data-redirect")); 
         } 
       }); 
     }); 
}); 

功能工作正常。我需要傳遞給window.location.assign()函數來自data-redirect屬性的特定值。

其實$(本).attr(「數據重定向」)沒有通過從屬性的值。

謝謝你的幫助。

回答

0

我認爲是this是個問題。抱歉,我不得不。

我的意思是

... 
onOk: function() { 
    window.location.assign($(this).attr("data-redirect")); 
          ^----- may not be referring to what you think it is. 
} 
... 

一個快速的解決方案是,如果你需要更好的支持範圍,你可以分配變量this作爲工作切換到一個arrow function像這樣

onOk:() => { window.location.assign($(this).attr("data-redirect")); } 

周圍像這樣

$(document).ready(function() { 
     $('.aaa').on("click", function(e) { 
       var self = this; // <--- here 
       e.preventDefault(); 
       $.confirm({ 
         title: 'Smazat termín', 
         message: 'Opravdu chcete smazat tento termín?', 
         labelOk: 'Smazat', 
         labelCancel: 'Storno', 
         onOk: function() { 
           window.location 
             .assign($(self) 
             .attr("data-redirect")); // <--- and here 
         } 
       }); 
     }); 
}); 
+0

非常感謝您!它解決了我的問題。 – AtT0mX

1

嘗試使用。我希望這個幫助。

$(this).data('redirect');