@timtimIT

Как при нажатии на li, создавать переменую и записывать в нее значение выбраного li?

Здравствуйте.

Вот пример.
Как при нажатии на li , создавать переменную и записывать в нее значение выбранного li, то-есть если мы выбрали значение в блоке apples создается переменная apples и в нее записывается значение на котором мы остановились, и чтобы при клике сохранялся класс active у выбранных li?

$('.star-rating').hover(function(){
	$(this).addClass('star-rating-on').prevAll('.star-rating').addClass('star-rating-on');
}, function(){
	$('.star-rating').removeClass('star-rating-on');
});

var rating = {};

$('.star-rating').on('click', function(e) {
  e.preventDefault();
  
  var $this = $(this),
  	currentBlock = $(this).closest('li').attr('class');

  $('.' + currentBlock + '.star-rating').removeClass('star-rating-on').prevAll('.star-rating').removeClass('star-rating-on');
  $this.addClass('star-rating-on').prevAll('.star-rating').addClass('star-rating-on');
  
  rating[currentBlock] = $this.attr("data-item");

  console.log(rating)
  $('#data').text(JSON.stringify(rating));
});
  • Вопрос задан
  • 212 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
@Scribblex
var listItemContent = '';

$(document).on('click', 'li', function () {
var self = $(this);

listItemContent = self.html(); // на тот случай, если внутри элемента содержится не только текст, но и разметка

self.addClass('active').prevAll('li').addClass('active');
});
Ответ написан
Комментировать
@dmitryKovalskiy
программист средней руки
Если вы в обработчике события создадите переменную, то вне этого обработчика она видна не будет.Создайте более глобальную переменную, и проставляйте значение внутри обработчиков.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы