2011-12-14 2 views
2

내가하고 싶은 것은 페이지에있을 수있는 링크를 여러 개 가져 와서 클릭 한 링크 만 PHP 스크립트로 보내어 구문 분석하는 것입니다.단일 JQuery 함수로 하이퍼 링크 전달 및 가져 오기

<a href="?something=2&id=100&somethingelse=55" class="link">My First Link</a> 
<a href="?something=3&id=400&somethingelse=65" class="link">My Second Link</a> 

내가 원하는 것은 링크를 잡고 PHP로 전달하는 것입니다. 이 코드를 사용하면 어떤 링크를 클릭하든 상관없이 첫 번째 링크 만 얻을 수 있습니다.

필자는 사이트에있는 모든 하이퍼 링크의 기능보다이 링크를 보내는 기능이 하나 더 있습니다. 나는 단순히 기본적으로 같은 일을하는 데 필요한 함수의 양을 압축하거나 통합하려고합니다.

$(".link").click(function() { 
    var v1 = $("a.link").attr("href"); 

// var v1 = $("a.ajax-link")[2].href; 
    var dataString = 'v1='+ v1; 

    $.ajax({ 
     type: "POST", 
     url: "/", 
     data: dataString, 
     dataType: 'json', 
     success: function(data) { 
     if(data.success == 1){ 
      alert(data.success); 
     } 
     else{ 
      alert(data.success); 
     } 
     } 
    }); 
    return false; 
    }); 

답변

2
(이 경우 this) 이벤트 대상 얻을 수 있도록 코드를 변경

: $를 사용

var v1 = $(this).attr("href"); 
+0

감사합니다. rcdmk. 그 덕분에 – Muzz

0
$(".link").click(function() { 
    var v1 = $("a.link").attr("href"); 

// var v1 = $("a.ajax-link")[2].href; 
    var dataString = 'v1='+ encodeURIComponent(v1); 

    $.ajax({ 
     type: "POST", 
     url: "your_php_page_to_handle_post", 
     data: dataString, 
     success: function(data) { 
     if(data.success == 1){ 
      alert(data.success); 
     } 
     else{ 
      alert(data.success); 
     } 
     } 
    }); 
    return false; 
    }); 
+0

감사합니다. Sudhir. 나는이 문서에서'encodeURIComponent'를 분명히 놓치고 있었지만 모든 링크가 다르더라도 동일한 하이퍼 링크가 보내지는 것과 같은 문제가 여전히 남아 있습니다. 사용자가 클릭하여 보내지는 적절한 링크를 어떻게 얻을 수 있습니까? – Muzz

0

(이 여기에

는 내가 지금까지 무엇을 가지고)는 클릭 된 링크에 대한 참조를 제공합니다.

$(".link").click(function() { 
    var href = $(this).attr("href"); 
    var dataString = 'v1='+ encodeURIComponent(href); 

    $.ajax({ 
     type: "POST", 
     url: "your_php_page_to_handle_post", 
     data: dataString, 
     success: function(data) { 
     if(data.success == 1){ 
      alert(data.success); 
     } 
     else{ 
      alert(data.success); 
     } 
     } 
    }); 
    return false; 
    }); 
+0

감사합니다 jrummell. 전체 링크가 전달되도록 어디에서 encodeURIComponent를 사용합니까? – Muzz

+0

대답을'encodeURIComponent()'로 업데이트했습니다. 나는 그것이 당신이 찾고있는 것이라고 생각합니다. – jrummell

관련 문제