2009-11-05 4 views
1

사용자가 클릭 할 수있는 이미지가있는 div 상자가 있습니다. 사용자가 이미지를 클릭하면 해당 공급자의 제품 이미지를 제공하는 아약스 호출이 필요합니다. 이처럼jquery가있는 링크에서 값 확인

: PHP 함수는 다음과 같습니다

<div id="phones" style="display:none;"> 
    <a href="#" value=1 id=HTC class=vendorLinks> 
     <img src=/images/vendors/htc.png> 
    </a> 
    <a href="#" value=2 id=Nokia class=vendorLinks> 
     <img src=/images/vendors/nokia.png> 
    </a> 
    <a href="#" value=3 id=SonyEricsson class=vendorLinks>IMAGE</a> 
    <a href="#" value=4 id=Samsung class=vendorLinks>IMAGE</a> 
    <a href="#" value=5 id=BlackBerry class=vendorLinks>IMAGE</a> 
    <a href="#" value=6 id=Sonim class=vendorLinks>IMAGE</a> 
    <a href="#" value=8 id=Motorola class=vendorLinks>IMAGE</a>  
</div> 

나는 내가 URL/군중에 대한 Ajax 호출을 원하는 링크 중 하나를 클릭/changePhone

$('#cPhone').click(function(){ 
     $('#phones').fadeIn('slow'); 

     }); 
     $('.vendorLinks').click(function(){ 


    $.ajax({ 
    type: "POST", 

    url: "/mob/changePhone/<?=$userID?>", 

    data: data, 
    success: function() 
    { 

     $('.vendorLinks').fadeOut('slow'); 
     $('#phone').fadeIn('slow').html(this); 

    } 
}); 
}); 

:

function changePhone($UID = null) 
      { 

       $UID  = $this->uri->segment(3); 
       $vendor = // How can i get the value from the link? 
       echo $vendor; 
       echo "<br>"; 
       echo $UID; 
       if(!$UID) 
        { 
         echo "Error: No user ID given!"; 
        } 
       if($vendor) 
        { 
         // Do something 
        } 
       // get the vendor logo. 
       $vendors = $this->getVendors(); 
       $string = ""; 
       foreach($vendors as $maker){ 
        $string .= "<a href=\"#\" value=". $maker['id'] . " id=". $this->spaceRemover($maker['name']) ." class=vendorLinks><img width=100px height=100px style=border:0; padding-left: 5px; src=". $maker['imgPath'] . "></a>"; 
       } 
       return $string; 
      } 

어떻게 링크에서 가치를 얻을 수 있습니까?

누구나 내가이 일을 할 수있는 방법을 알고 코드의 평화가 나쁜지 말해 줄 수 있기를 바랍니다. 보안을 최우선으로하지 않으므로 내부 용으로 사용합니다.

감사합니다.

안부 Audunfr는

답변

2

당신은 아약스 호출에서 데이터 변수를 설정해야합니다. 이처럼 :

$.ajax({ 
     type: "POST", 
     url: "/mob/changePhone/<?=$userID?>", 
     data: {vendor : $(this).attr('id')}, 
     success: function() 
     { 

       $('.vendorLinks').fadeOut('slow'); 
       $('#phone').fadeIn('slow').html(this); 

     } 
}); 

그런 다음 당신은 PHP 변수 $_POST['vendor']하여 공급 업체의 이름을 액세스 할 수 있습니다.

+1

감사합니다. 모닝 커피. 이것은 매력처럼 작동했습니다. 정말 고맙습니다. – Audunfr

+0

문제 없어요. 다행이라고 생각합니다. :) –