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)
。仍然不起作用。你能想出其他方法来初始化星号吗。