2010-04-20 2 views
1

http://www.fyneworks.com/jquery/star-rating/#tab-Overview에있는 jQuery 별표 등급 컨트롤을 사용하고 있습니다. 나는 별 5 개를 사용하는데 각 별마다 1에서 5 사이의 특정 값을 사용합니다. 컨트롤이 제대로 표시되고 제대로 작동합니다. 그러나 별을 클릭 한 직후에 클릭 한 별의 가치를 얻으려는 요구가 있습니다. 나는 그것을하는 방법을 모른다.별표 평가 컨트롤의 클릭 이벤트에 콜백을 연결하는 방법

감사합니다.

답변

1

를 등급 제어에 의해 생성 된 마크 업의 구조를 분석 한 후, 나는 다음 코드를 추가 문서 준비 기능

$('div.star').live('click', function() { 
     var value = $('a', this).html().trim(); 


     var ratingName = $(this).parent().next('input[type="radio"]').attr('name'); 

     alert('rating for ' + ratingName ' is ' + value); 
    }); 

이것은 잘 작동하지만 매우 간접적입니다. 나는 더 많은 직접적인 해결책을 모른다.

0

별은 기본적으로 배후 라디오 버튼을 사용하여 클래스 star을 가지고 있으며,이 시도 :

$(function(){ 
    $('.star').live('click', function(){ 
    alert($(this).val()); 
    }); 
}); 
+0

이 문제는 도움이되지 않습니다. 실제로 사건 자체는 발사하지 않았다. – mohang

+0

@ 모항 : 내 대답을 수정했습니다. 확인하십시오. – Sarfraz

0

프로젝트에서 동일한 플러그인을 사용하여 같은 페이지에서 별표 평점이 많이 올 때 속도가 느려졌 기 때문에 동일한 플러그인을 사용하고있었습니다 (각 입력 요소에 대해 많은 dom 요소를 생성합니다). 우리는 CSS 만 구현했습니다. seen here, 더 빠르지 만 ("부분 별"등급과 같은 옵션이 분명히 느슨합니다)

+0

네, 우리 프로젝트에서도 똑같은 경험을했습니다. 우리는 선택이 요구되는 장소에서만 이것을 사용하고 있습니다. 표시 목적으로 상자를 사용하는 간단한 CSS 기술을 사용하고 있습니다. – mohang

관련 문제