2016-12-16 54 views
0

使用它,我有鏈接斧數量在我的網站是這樣的:充分利用鏈路ID和JavaScript的

<a href="www.link1.com" id="UseLink" value="1">www.link1.com</a> 
<a href="www.link2.com" id="UseLink" value="2">www.link2.com</a> 
<a href="www.link3.com" id="UseLink" value="3">www.link3.com</a> 

在底部我有應該做一些事情的價值一點點的Javascript點擊鏈接。

$('#UseLink').click(function(e){ 

    var url = "www.domain.com/uselink"; 

    $.ajax({ 
     type: "POST", 
     url: url, 
     data: {'linkid' : this.getAttribute('value')}, 
     success: function(data) 
     { 
      console.log("Use link result: " + data); 
      if (data === 'success') { 
      } 
      if (data === 'error') { 
      } 
     } 
    }); 

    e.preventDefault(); 

}); 

無論我點擊什麼鏈接,它總是使用link1的id。任何人都知道爲什麼這不起作用?

+2

身份證必須是唯一的。您應該在這裏使用課程。 – jeroen

回答

1

ID必須是唯一的。所以,做如下更改:

<a href="www.link1.com" id="1" class="UseLink" value="1">www.link1.com</a> 
<a href="www.link2.com" id="2" class="UseLink" value="2">www.link2.com</a> 
<a href="www.link3.com" id="3" class="UseLink" value="3">www.link3.com</a> 

JS:

$('.UseLink').click(function(){ 
    var id = $(this).attr('id'); 
    // id contains the id of clicked anchor 
}); 
+0

這其實很簡單。謝謝! – MNL

0

ID必須是唯一的,您分配相同的ID給所有的一個標籤。 這就是爲什麼jQuery腳本是擊中第一個元素。

0

可能有很多方法用純JavaScript來做到這一點,但由於它有PHP標籤,我會給你一個涉及PHP的答案。

<?php 
$id = isset($_GET['id']) ? $_GET['id'] : false; 
?> 
<script type="text/javascript"> 
var id = '<?= false !== $id ? $id : ""; ?>'; 
$('#UseLink').click(function(e){ 

    var url = "www.domain.com/uselink"; 

    $.ajax({ 
    type: "POST", 
    url: url, 
    data: {'linkid' : id}, 
    success: function(data) 
    { 
      console.log("Use link result: " + data); 
      if (data === 'success') { 
      } 
      if (data === 'error') { 
      } 
    } 
    }); 

    e.preventDefault(); 

}); 
</script> 

中的鏈接來觸發這樣的代碼:

<a href="<?= $_SERVER['PHP_SELF']; ?>?id=1">Link 1</a> 
<a href="<?= $_SERVER['PHP_SELF']; ?>?id=2">Link 1</a> 
<a href="<?= $_SERVER['PHP_SELF']; ?>?id=3">Link 1</a> 
0
變種

值= $(本).VAL(); 使用上面的ajax調用並傳遞數值數據