Вам не нужно циклически перебирать каждую ссылку, привязывающую обработчик по отдельности, вы можете просто сделать это:
// bind click handler to all <a> tags inside #rate_box
$('#rate_box a').click(function() {
});
То же самое касается отмены привязки:
$('#rate_box a').unbind('click');
Что касается вашего кода, он, вероятно, не выполняется, потому что вы не закрыли внутреннюю каждый при откреплении тегов элемента, поэтому это недопустимый JavaScript:
$('#rate_box a').each(function(i) {
$(this).unbind('click');
} // <- missing closing ");"
Вам действительно нужно использовать такой инструмент, как Firebug или Firebug Lite, для отладки вашего javascript, хотя что-то подобное вышеупомянутому должно просто дать вам ошибку Javascript в большинстве браузеров.
РЕДАКТИРОВАТЬ Если вы хотите найти индекс текущей ссылки при ее нажатии, вы делаете это:
var links = $('#rate_box a');
$(links).click(function() {
// this is to stop successive clicks on ratings,
// although the server should still validate to make
// sure only one rating is sent per game
if($(this).hasClass('inactive_for_click')) return false;
$(links).addClass('inactive_for_click');
// get the index of the link relative to the rest, add 1
var index = $(links).index(this) + 1;
$.post("../includes/process/rating.php", {
id: "<?php $game_id ?>",
type: "game",
rating: index
}, function(data) {
$('#status').html(data).fadeIn("normal");
// unbind links to disable further voting
$(links).unbind('click');
});
});