2009-11-05 57 views
1

我有一个带有用户可点击的图像的div框。当用户点击图片时,我想要一个ajax调用,它将为我提供来自该提供者的产品图像。从与jquery的链接中获取价值

像这样:

<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); 

    } 
}); 
}); 

PHP函数如下:

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调用数据变量。 像这样:

$.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

谢谢Morningcoffee。这工作像一个魅力。非常感谢。 – Audunfr 2009-11-05 12:13:39

+0

没问题,我很高兴它解决了你:) – 2009-11-05 16:27:48