2010-11-27 6 views
10

검색시 사용자 정보를 표시하는 코드를 작성 중입니다. 그러면 사용자 정보가 fieldset에 표시되고 이미지, 이름, 성 및 프로필 정보가 거의 표시되지 않습니다. 표시하고, fieldset의 바닥에, 친구 하이퍼 링크로 추가 거기에있다 :jquery <a> 태그 클릭 이벤트

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

가 지금은 다른 페이지와 상호 작용하는 JQuery와에게 $post() 방법을 사용하려면이. 또한 사용자 ID 값을 가진 fieldset 사용자 내부에 숨겨진 필드가 있습니다. 자, jquery을 사용하여 클릭 기능을 만들면 다른 숨겨진 필드 값에 액세스 할 수 없습니다. 이제이 기능을 달성하는 방법을 알고 싶습니다. 확인을 위해 코드 집합 안에 숨겨진 필드의 값을 가져올 수 있는지 확인하기 위해이 작업을 수행했습니다.

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

는하지만 단지 첫번째 fieldset이 아닌 다른 사람의 가치를 얻고있다. 친절하게 나를 인도 해주세요.

미리 감사드립니다.

편집 : 각 태그 클릭 이벤트에서이를 얻으려면 어떻게해야합니까? 내가 jQuery를 만 세트의 첫 번째 반환 귀하의 숨겨진 필드, 중복 ID를 가지고 있기 때문에입니다 여기에 몇 가지 더 많은 코드,

<?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> 

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

// 다른 방법은 데이터가 FIELDSET에 JQuery와에

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

.live()는 최신 jQuery에서 가치가 떨어집니다. 대신 .on()을 사용하십시오. – rogueleaderr

4

을 걸었습니다. .uid처럼, 대신 그들에게 수업을주고 통해 그들을 잡아 :

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

데모 : http://jsfiddle.net/karim79/FtcnJ/

편집 : 당신의 출력은 다음과 같은 말 (통보, ID를 클래스로 변경)

<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가 없어야합니다. 문제가 발생할 것입니다. 그들은 입니다., 입니다. 이 아니라이되어야합니다. JQuery와에

+0

좋아, 내가 이것을 시도하고, 사람들이 그것을 abt 알게 될 것이다 .. 그것을위한 감사합니다. – Maverick

2

모든 숨겨진 필드를

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

을하는 속성을 사용하는 것입니다 동일한 ID를 사용하므로 jquery는 retu 만 사용합니다. 첫 번째 방법. 이 문제를 해결하는 한 가지 방법은 카운터 변수를 만들어 각 숨겨진 필드 ID에 연결하는 것입니다.

관련 문제