Задать вопрос
Machinez
@Machinez

Как передать данные из НЕ инпута в форме?

Есть в форме такой элемент "рейтинг"
FWhZqbH.jpg

обычный див с свгшками, кликаешь - меняется значение рейтинга.
получить текущее значение не проблема, а вот как это значение отправить со всеми полями формы?

в голову приходит только следующее: создать скрытый инпут и при клике на звездочку присваивать текущее значение этому инпуту, но есть мнение что существует и более красивое решение. Как бы вы сделали?
  • Вопрос задан
  • 462 просмотра
Подписаться 2 Оценить 9 комментариев
Решения вопроса 2
@IceJOKER
Web/Android developer
в голову приходит только следующее: создать скрытый инпут и при клике на звездочку присваивать текущее значение этому инпуту, но есть мнение что существует и более красивое решение. Как бы вы сделали?
- это и есть самый хороший способ, тем более если нужно отправить вместе с формой
Ответ написан
Комментировать
Hecc
@Hecc
Frontend. Дизайн. Шрифт.
Можно каждой звезде задать data-атрибут с её значением и по клику когда человек выбирает сам рейтинг добавлять этой звезде уникальный класс, по которому потом считывать значение data.
<div class="starContainer">                
      <img src="star.svg" data-star="1">
      <img src="star.svg" data-star="2">
      <img src="star.svg" data-star="3" class="selected">
      <img src="star.svg" data-star="4">
      <img src="star.svg" data-star="5">                
</div>

// jQuery
function getRank(){
  var rank = $('.starContainer').find('img.selected').data('star');
  return rank;
}
 var rank = getRank();
 jQuery.ajax({
            type: "POST",
            url: handler.php,          
            data: {
                'value1': a,
                'value2': b,
                'rank': rank 
            },
            success: function (result) {...}
        });
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
12 дек. 2024, в 22:26
1500 руб./за проект
12 дек. 2024, в 22:24
1000 руб./за проект
12 дек. 2024, в 21:16
15000 руб./за проект