У меня есть многостраничная форма, и на одной из страниц у меня есть приложение для просмотра звезд, в котором пользователи могут голосовать от 1 до 5 звезд. У меня это работает отлично, однако на той же странице мне нужно это несколько раз (т. Е. Разные вещи для обзора).Несколько Star Review на той же странице
Я пробовал несколько вещей; меняя класс «звезд» и «звезд», но ни один из них не допускает множественные рейтинги - все они возвращаются к первому (т. е. если вы выбираете 2 звезды во второй, он также по умолчанию устанавливает первый выбор на 2 звезды или выбирает только первый выбор до 2-х звезд). Есть идеи?
HTML код:
<div class="stars">
<input type="radio" name="star" class="star-1" id="star-1" />
<label class="star-1" for="star-1">1</label>
<input type="radio" name="star" class="star-2" id="star-2" />
<label class="star-2" for="star-2">2</label>
<input type="radio" name="star" class="star-3" id="star-3" />
<label class="star-3" for="star-3">3</label>
<input type="radio" name="star" class="star-4" id="star-4" />
<label class="star-4" for="star-4">4</label>
<input type="radio" name="star" class="star-5" id="star-5" />
<label class="star-5" for="star-5">5</label>
<span></span>
</div>
CSS:
form .stars {
background: url("stars.png") repeat-x 0 0;
width: 150px;
margin: 0 auto;
}
form .stars input[type="radio"] {
position: absolute;
opacity: 0;
filter: alpha(opacity=0);
}
form .stars input[type="radio"].star-5:checked ~ span {
width: 100%;
}
form .stars input[type="radio"].star-4:checked ~ span {
width: 80%;
}
form .stars input[type="radio"].star-3:checked ~ span {
width: 60%;
}
form .stars input[type="radio"].star-2:checked ~ span {
width: 40%;
}
form .stars input[type="radio"].star-1:checked ~ span {
width: 20%;
}
form .stars label {
display: block;
width: 30px;
height: 30px;
margin: 0!important;
padding: 0!important;
text-indent: -999em;
float: left;
position: relative;
z-index: 10;
background: transparent!important;
cursor: pointer;
}
form .stars label:hover ~ span {
background-position: 0 -30px;
}
form .stars label.star-5:hover ~ span {
width: 100% !important;
}
form .stars label.star-4:hover ~ span {
width: 80% !important;
}
form .stars label.star-3:hover ~ span {
width: 60% !important;
}
form .stars label.star-2:hover ~ span {
width: 40% !important;
}
form .stars label.star-1:hover ~ span {
width: 20% !important;
}
form .stars span {
display: block;
width: 0;
position: relative;
top: 0;
left: 0;
height: 30px;
background: url("stars.png") repeat-x 0 -60px;
-webkit-transition: -webkit-width 0.5s;
-moz-transition: -moz-width 0.5s;
-ms-transition: -ms-width 0.5s;
-o-transition: -o-width 0.5s;
transition: width 0.5s;
}
Параметр 'name' атрибут в ваших' input' элементов должен быть уникальным для каждого обзора. Это переменная, которая содержит значение. Ваш бэкэнд не здорова знает, какой обзор опубликовал значение. – icecub
Значит, измените «имя = ____» для каждого? Я уверен, что я уже пробовал это, но это не имело никакого значения. Я попробую еще раз. – IVCatalina
Ну, это немного больше, чем это. Но без вашего внутреннего кода я больше не могу вам помочь. – icecub