2010-11-27 97 views
10

我正在構建一個顯示搜索用戶信息的代碼。用戶信息然後顯示在fieldset中,並且圖像,名字,姓氏和少量簡檔信息。所示,並在fieldset的底部,有一個加爲好友超級鏈接:jquery <a>標記點擊事件

<a href="#" id="aaf">add as friend</a> 

現在我想使用jquery $post()方法與其他網頁互動。我在該用戶fieldset中也有一個隱藏字段,它具有用戶標識值。現在,當我使用jquery創建點擊功能時,我無法訪問不同的隱藏字段值。現在我想知道如何實現這個功能?爲了檢查我是否可以獲得一組代碼中隱藏字段的值,我做了這個。

$(document).ready(function() { 
    $("a#aaf").bind('click', function() { 
     alert($("#uid").val()); 
    }); 
}); 

但我只得到第一個fieldset,而不是其他人的價值。請在此引導我。

在此先感謝。

編輯:如何讓它在每個標籤點擊事件?我在這裏放一些代碼,

<?php foreach($query->result() as $row){?> 
<fieldset> 
    <legend> 
     <?php echo $row->firstname.' '.$row->lastname;?> 
    </legend> 
    <img src='<?php echo $row->profile_img_url;?>'/><br> 
    <a href="#" id="aaf">add as friend</a> 
    <input name="uid" type="hidden" value='<?php echo $row->uid;?>' id="uid"> 
</fieldset> 

回答

22
<a href="javascript:void(0)" class="aaf" id="users_id">add as a friend</a> 
jQuery的

$('.aaf').on("click",function(){ 
    var usersid = $(this).attr("id"); 
    //post code 
}) 

//另一種方法是使用數據屬性

<a href="javascript:void(0)" class="aaf" data-id="102" data-username="sample_username">add as a friend</a> 

jQuery的

$('.aaf').on("click",function(){ 
    var usersid = $(this).data("id"); 
    var username = $(this).data("username"); 
}) 
+2

注意.live()在最新的jQueries中折舊。使用.on()代替。 – rogueleaderr 2013-07-01 22:22:24

4

這是因爲你的隱藏字段有重複的ID,所以jQuery只返回集合中的第一個。給他們班相反,像.uid並通過抓住他們:

var uids = $(".uid").map(function() { 
    return this.value; 
}).get(); 

演示:http://jsfiddle.net/karim79/FtcnJ/

編輯:說你的輸出看起來像下面的(注意,標識已經更改爲類)

<fieldset><legend>John Smith</legend> 
<img src='foo.jpg'/><br> 
<a href="#" class="aaf">add as friend</a> 
<input name="uid" type="hidden" value='<?php echo $row->uid;?>' class="uid"> 
</fieldset> 

您可以將「uid」相對於以下點擊錨定爲目標:

$("a.aaf").click(function() { 
    alert($(this).next('.uid').val()); 
}); 

重要事項:不要有任何重複的ID。他們會造成問題。他們是無效,不好和你應該不是做到這一點。

+0

好吧,我會試試這個,並且讓你們知道abt它..感謝它。 – Maverick 2010-11-27 23:55:23

2

所有的隱藏字段中的字段集被使用相同的ID,所以jquery只是retu第一個。解決這個問題的一種方法是創建一個計數器變量並將其連接到每個隱藏的字段ID。