Jquery 星级整数

Jquery 星级整数,jquery,initialization,rating,rating-system,Jquery,Initialization,Rating,Rating System,我从选定的值中得到了要初始化的星号 问题是,当我点击星号时,整个星号初始化都搞砸了 如果有人能帮助我更好、更一致地初始化星星,我将不胜感激 星星的代码可以在这里找到 谢谢我真的没有看到初始化发生在哪里,因为焦点更改只有在用户单击星星时才会运行。我认为最好将值从焦点更改函数中拉出来,并将其设置在就绪函数中 下面的工作,虽然它可以进一步清理在几个地方。就像你可能不想设置槽为5,如果你想改变你的评级系统从1到5星到1到10星和其他硬编码避免 function init(value, slots) {

我从选定的值中得到了要初始化的星号

问题是,当我点击星号时,整个星号初始化都搞砸了

如果有人能帮助我更好、更一致地初始化星星,我将不胜感激

星星的代码可以在这里找到


谢谢

我真的没有看到初始化发生在哪里,因为焦点更改只有在用户单击星星时才会运行。我认为最好将值从焦点更改函数中拉出来,并将其设置在就绪函数中

下面的工作,虽然它可以进一步清理在几个地方。就像你可能不想设置槽为5,如果你想改变你的评级系统从1到5星到1到10星和其他硬编码避免

function init(value, slots) {
   vstring = value.toString();
   vlength = vstring.length;
   for (var i = 0; i < vlength; i++)
   {
      character = vstring.charAt(i);
      charNumber = slots - Number(character);
      rgroup = 'rating' + i;               
      $('input:radio[name='+rgroup+']')[charNumber].checked = true;  
   }
}

jQuery(document).ready(function() {
   var value   = 2123;
   var slots = 5;
   $('.rating').focus();
   init(value, slots);

   $('.rating').bind('focus change', function(event) {
   changed = event.target.id;
   var id_number = changed.split("star")[1] - 1;
   var row = Math.floor(id_number / slots);
   var col = id_number % slots;
   var stringValue = value.toString();

   stringValue = stringValue.substr(0, row) + col + stringValue.substr(row + 1);
   value = Number(stringValue);

   var rgroup = $(this).find("input:last").attr('name');
    alert(rgroup);

   $('input:radio[name='+rgroup+']')[value].checked = true;
});
函数初始化(值,插槽){
vstring=value.toString();
V长度=V管柱长度;
对于(变量i=0;i
value
不是字符串,而是整数。
value=value.toString().substr(a,b)
。仍然不起作用。你能想出其他方法来初始化星号吗。