как подключить обратный вызов, чтобы нажать событие контроля звездного рейтинга - PullRequest
1 голос
/ 20 апреля 2010

Я использую jQuery, чтобы получить рейтинг звезды http://www.fyneworks.com/jquery/star-rating/#tab-Overview. Я использую 5 звездочек, каждая звезда имеет определенное значение от 1 до 5. Элемент управления отображается и работает правильно. Тем не менее, у меня есть требование получить значение нажатой звезды сразу после нажатия на звезду. Я не знаю, как это сделать.

Я ценю вашу помощь.

Ответы [ 3 ]

1 голос
/ 21 апреля 2010

После анализа структуры разметки, генерируемой элементом управления рейтингом, я добавил следующий код в функцию готовности документа.

    $('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 голосов
/ 21 апреля 2010

В проекте мы использовали тот же плагин, и нам пришлось отказаться от него, потому что он был очень медленным, когда на одной странице было много звездных оценок (он генерировал много элементов dom для каждого элемента ввода).В итоге мы внедрили технику css only , показанную здесь , это намного быстрее (но, очевидно, потеряло некоторые опции, такие как рейтинг "частичная звезда")

0 голосов
/ 20 апреля 2010

Звезды в основном используют радиокнопки за кулисами и имеют класс star, попробуйте это:

$(function(){
  $('.star').live('click', function(){
     alert($(this).val());
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...