나는 이러한 상황이 있습니다충전 배열이
이<div id="rate1_wrapper">
<a href="#" id="0_1">...</a>
<a href="#" id="0_2">...</a>
<a href="#" id="0_3">...</a>
</div>
<div id="rate2_wrapper">
<a href="#" id="1_1">...</a>
<a href="#" id="1_2">...</a>
<a href="#" id="1_3">...</a>
</div>
...
var ratings = new Array();
for (i=0; i < 8; i++)
{
ratings[i] = -1; // Default is unrated
}
for (i=0; i < 8; i++)
{
$('#rate' + i + '_wrapper a').click(function() {
ratings[i] = parseInt($(this).attr('id').split('_')[1]);
console.debug(ratings);
});
}
내 일을 채우는 것입니다 : 'N'입니다 'rateN_wrapper'와 같은 ID를 가진 8 DIV 블록을이 사업부의 수입니다 클릭 된 링크의 ID (파싱 된)로 필요한 위치에 배열. 하지만 항상 array (8)의 최신 요소 만 변경합니다. 왜?
또한 완전히이 내게 도움이되지 않았다 –
더 명확 수 있습니다 JQuery와 .each()를 사용하여 for 루프를 방지 할 수있을 것이다. – Ockonal
실제로 생각해 보니, 첫 번째 예제는 외부 루프 본문 대신 익명의 함수 본문에 var idx = i를 선언하면 작동합니다 ... –