Обычно так не заморачиваются, что просто делают затененное "сердечко", когда голосов более 0 и при наводке на кнопку... ну и соответственно при 0 и гостям (тем, кто голосовать не может), то делают светлым... а индивидуально проверку оставленного голоса и смену стилей - не делают (видимо, по той же причине в сложности технически реализовать, из-за отсутствия оператора)... и это всё не спешат чинить, просто как альтернативу ставить рекомендуют uLike, чтобы еще и на него тратились... конечно есть в сети кнопки на рейтинг внешне похожие, но по функционалу они действуют иначе (они лишь внешне имитируют кнопку uLike от uCoz).
В принципе, думаю, если код исходный проанализировать, то найдётся что-то, к чему бы привязаться (в смысле, что оператор и условие составить, чтобы условными операторами привязку сделать, без скрипта и запроса), но поскольку не задавался такой целью и отдаваемый код исходный не смотрел - так сразу не скажешь. К примеру, если взять вид рейтинга в виде звезд, что идёт по умолчанию, то у человека, который уже проголосовал - не будет возможности выбирать звезды... и в коде исходном будет идти лишь один маркер в списке (то есть <ul> <li> </li> </ul>, тогда как человеку, который не голосовал еще - будет идти еще 5 пунктов от 1 до 5 соответственно, с классом u-star-li-* ... имеется в виду, что стоит код по типу голосования со страницы материала, а не код со звездами, что прописан прям в вид материала, и идёт там '1'-can vote). Есть еще оператор $RATE_FORM$ - можно посмотреть, есть ли изменения в отдаваемом им исходном коде до оставления голоса и после, чтобы исходя из этого привязку потом составить. Так что, всё вполне возможно.
Вот еще код, что использовал на одном сайте:
Код
[...]
<tr><td colspan="2" class="eRating1">
<?if($RATING$ and $RATE_FORM$)?><div style="float:right"><?$RSTARS$('12','/.s/img/stars/3/12.png','1','float')?></div>
<?endif?>
<?if($RATING$ and $RATING_NUM$!='0' and $RATED$!='0')?>| <!--<s3119>-->Рейтинг<!--</s>-->: <span id="entRating$ID$">$RATING$</span>/<span id="entRated$ID$">$RATED$</span><?endif?></td></tr>
[...]
Можно сделать вывод, что привязка по $RATE_FORM$ работает, соответственно кто оставил свой голос, то после звезды не выводятся. Можно еще вот так код сделать (не совсем грамотно с точки зрения составления условий, но работать будет):
Код
[...]
<tr><td colspan="2" class="eRating1">
<?if($RATE_FORM$)?><?if($RATING$)?><div style="float:right"><?$RSTARS$('12','/.s/img/stars/3/12.png','1','float')?></div>
<?endif?><?endif?>
<?if!($RATE_FORM$)?><?if($RATING$ and $RATING_NUM$!='0' and $RATED$!='0')?>| <!--<s3119>-->Рейтинг<!--</s>-->: <span id="entRating$ID$">$RATING$</span>/<span id="entRated$ID$">$RATED$</span><?endif?><?endif?></td></tr>
[...]
Этим мы заменили вывод звезд прописью значения рейтинга, если человек уже проголосовал.