Удалить родственника функции рейтинговой звезды JS / PHP

У меня есть рейтинг JS-функции, он работает, но он оценивает все звезды моего списка. Я хотел бы удалить братьев и сестер, которые оценивают только одну линь

function rating () {
    let $star_rating = $('li #starRating');
    let SetRatingStar = function () {
        return $star_rating.each(function () {
            if (parseInt($star_rating.siblings('input.rating-value').val()) >= parseInt($(this).data('rating'))) {
                return $(this).removeClass('fa-star-o').addClass('fa-star');
            } else {
                return $(this).removeClass('fa-star').addClass('fa-star-o');
            }
        });
    };

    $star_rating.on('click', function () {
        $star_rating.siblings('input.rating-value').val($(this).data('rating'));
        return SetRatingStar();
    });

}

Я пробую это, но мой код не работает, я не могу изменить класс звезд (я удалил «братьев и сестер»).

function rating () {
    let $star_rating = $('li #starRating');
    let SetRatingStar =function () {
        return $star_rating.each(function () {
            if (parseInt($star_rating('input.rating-value').val()) >= parseInt($(this).data('rating'))) {
                return $(this).removeClass('fa-star-o').addClass('fa-star');
            } else {
                return $(this).removeClass('fa-star').addClass('fa-star-o');
            }
        });
    };

    $star_rating.on('click', function () {
        $star_rating('input.rating-value').val($(this).data('rating'));
        return SetRatingStar();
    });

}

Это код моего взгляда

<div class = "d-inline-flex">
    <input type = "checkbox" id = "checkAll" onclick = "toggle(this);">
    <p class = "mt-3 mb-0 ml-1">Tous vus</p>
</div>
{% for episode in episodes %}
    <li class = "list-group-item bgt">
        {% if episode.hasSeen == 0 %}
            <input type = "checkbox" id = "{{ episode.id }}" name = "hasSeen" onclick = "processForm(this)">
        {% else %}
            <input type = "checkbox" id = "{{ episode.id }}" name = "hasSeen" checked = "checked" onclick = "processForm(this)">
        {% endif %}
        {{ "E%02d" | format (episode.number) }} - {{ episode.title }}
        {% for i in  1..5 %}
            {% set classNote = (i<= episode.note ? "" : i - episode.note < 0.5 ? "-half-full" : "-o" ) %}
            <span class = "fa fa-lg fa-star{{ classNote }}" id = "starRating" data-rating = "{{ i }}" onclick = "rating(this)"></span>
            <input type = "hidden" name = "whatever1" class = "rating-value" value = "{{ episode.note }}">
        {% endfor %}
    </li>
{% endfor %}

Следует ли мне указать, что у вас может быть только один элемент с id?

Yaakov Ainspan 01.05.2018 18:27

Вместо этого вы, вероятно, захотите использовать class = "starRating" и .starRating.

Yaakov Ainspan 01.05.2018 18:28
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
46
0

Другие вопросы по теме