Получить звездный рейтинг из числа, используя jquery
Здесь у меня есть код для преобразования числа (рейтинга) в звезды, используя http://wbotelhos.com/raty, http://wbotelhos.com/raty/lib/jquery.raty.min.js
Я создаю jsfiddle: http://jsfiddle.net/3SXKe/4/
// mocking your supposed "place" variable
var place = { name: "James Cook Hotel Grand Chancellor", rating: "3.6",
photos: [{ getUrl: function () { return "https://lh6.googleusercontent.com/-T0_fJX5zza0/UdSnOaucZvI/AAAAAAAAAFc/gQhK3IbHJfY/w50-h50-s0/Small%2BLogo.png" } }]
}
var photo = place.photos[0].getUrl({
'maxWidth': 50,
'maxHeight': 50
});
var elemenatDiv = $('<div>').addClass('elemenat');
var draggableDiv = $('<div>').addClass('draggable');
var logo = $('<img>').css({'margin-left': '3px', 'margin-top': '5px'})
.attr('src', photo).attr('width', 46).attr('height', 42)
var sideClick = $("<a>").addClass('side_click').attr('href', '#')
.text(place.name + place.rating);
var elementnameDiv = $('<div>').addClass('elementname');
var star = $('#star').raty({ score: place.rating });
elemenatDiv.append(draggableDiv.append(logo));
elemenatDiv.append(elementnameDiv.append(sideClick).append(star));
$("#side_bar").append(elemenatDiv);
$(sideClick).on("click", function () {
markers[i].modalWindow_.getDetails(markers[i].place_);
});
и я использую сначала: var star = $('#star').raty({ score: place.rating });
и после этого добавить elemenatDiv.append(elementnameDiv.append(sideClick).append(star));
но звездный рейтинг не будет отображаться при рендеринге HTML-кода?
Я пробую другое решение, но я не знаю, где ошибка?
1 ответ
Решение
Эта строка является проблемой:
var star = $('#star').raty({ score: place.rating });
Вы пытаетесь выбрать элемент DOM по идентификатору (#star
), но в DOM нет элемента.
Вам нужно ввести DIV с идентификатором star
в ДОМ.