저는 jquery에 초보자이지만 프로젝트에서 사용하려고합니다. #rate_box 내의 모든 링크를 반복하여 클릭 이벤트를 추가하려고합니다. 이 클릭 이벤트는 일부 데이터를 외부 PHP 스크립트에 게시 한 다음 모든 링크에서 클릭 이벤트를 바인딩 해제해야합니다 (사람들이 빠르게 연속해서 두 번 평가하지 못하도록합니다). 그러면 PHP 스크립트에서 수신 한 데이터를 #status라는 span 태그.Jquery 각 루프가 작동하지 않습니다.
그러나 내 코드는 경고 ("Index :"+ i)를 실행하지 않습니다. 나는 그것을 정확하게 묶는가? 개별적 핸들러를 바인딩 각각의 링크를 통해 루프 필요가 없습니다
<script type="text/javascript">
$(document).ready(function(){
$('#rate_box a').each(function(i) {
$(this).click(function() {
alert("Index: "+i);
$.post("../includes/process/rating.php", {id: "<?php $game_id ?>", type: "game", rating: i+1},
function(data) {
$('#rate_box a').each(function(i) {
$(this).unbind('click');
}
$('#status').html(data).fadeIn("normal");
});
});
});
});
</script>
내가 바인더 제본되어 각 개별 물건의 인덱스를 알아야합니다 (이 될 것입니다 0-5) Ajax가 해당 데이터를 외부 스크립트에 게시하기 때문에 (이것은 별 5 개 등급 시스템 임) – Tom
이를 달성하는 방법을 보여주기 위해 내 코드가 업데이트되었습니다. –
만약 당신이'var links = $ ('# rate_box a');'그런다면'$ (links) .click (...'대신에'links.click (...' 링크들)을 함수 내의 링크들에'링크들 '이 jquery 객체 인 전역 var이기 때문입니다. –