Javascript 需要让js在星级系统中多次工作,bootstrap

Javascript 需要让js在星级系统中多次工作,bootstrap,javascript,jquery,html,twitter-bootstrap,Javascript,Jquery,Html,Twitter Bootstrap,各位。 我使用的是一个简单的星级评定系统,我在页面上使用了3次。当我单击其中一个时,其他两个取相同的值。需要让js为每个人工作。请善待我,我是js的noob。 提前谢谢 HTML 我猜你正在看这样的东西,请检查一下 ,您只需要找到父元素并在其子元素上循环 var $star_rating = $('.star-rating .fa'); var SetRatingStar = function($star_rating_parent) { return $star_rating_paren

各位。 我使用的是一个简单的星级评定系统,我在页面上使用了3次。当我单击其中一个时,其他两个取相同的值。需要让js为每个人工作。请善待我,我是js的noob。 提前谢谢

HTML


我猜你正在看这样的东西,请检查一下 ,您只需要找到父元素并在其子元素上循环

var $star_rating = $('.star-rating .fa');

var SetRatingStar = function($star_rating_parent) {
  return $star_rating_parent.find('.fa').each(function() {
    if (parseInt($star_rating_parent.find('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() {
  $(this).siblings('input.rating-value').val($(this).data('rating'));
  return SetRatingStar($(this).parent());
});

我只更改了jquery的一行,它似乎运行正常。单击事件存储您试图访问的直接dom对象,请尝试使用隐藏而不是文本输入:

var$star_rating=$('.star rating.fa');
var SetRatingStar=函数(){
返回$star\u评级。每个(函数(){
if(parseInt($star_rating.sides('input.rating value'))>=parseInt($(this.data('rating')){
返回$(this).removeClass('fa-star-o').addClass('fa-star');
}否则{
返回$(this).removeClass('fa-star').addClass('fa-star-o');
}
});
};
$star_rating.on('click',function(){

$(this.parent().find('input').val($(this.data('rating'));//在jsfiddle.net或其他代码共享站点中创建一个演示,这样我们就可以看到问题并根据需要修改代码。我对第一个产品进行评分,其他两个产品也会得到相同的值。但是有人回答了我,他的代码工作正常。谢谢,伙计!:)您使用的浏览器是什么?它可以工作,只需更改
var $star_rating = $('.star-rating .fa');

var 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();
});

SetRatingStar();
var $star_rating = $('.star-rating .fa');

var SetRatingStar = function($star_rating_parent) {
  return $star_rating_parent.find('.fa').each(function() {
    if (parseInt($star_rating_parent.find('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() {
  $(this).siblings('input.rating-value').val($(this).data('rating'));
  return SetRatingStar($(this).parent());
});