我已经将Scroller值定义为从15分钟开始的小时数,并且轮子应该具有类似的值 0.25 0.5 0.75 1 1.25 ... 23.75但它排序的值如山雀首先显示整数然后是小数,所以它像1 2 3 ... 23 0.25 .5.0.75 ... 23.75 如何休息以按增量顺序显示数字。
$(function () {
var hours = [{}];
for (var i = 0; i < 3; i++) {
var wheel = {};
for (var j = 0; j < 24; j += .25) {
wheel[j] = j;
}
hours[0]['Hours'+i] = wheel;
}
$('#i').scroller({
theme: 'default',
display: 'inline',
mode: 'mixed',
wheels: hours,
height: 40
});
});
答案 0 :(得分:1)
这种情况正在发生,因为wheel变量是一个对象,它的键是数字(这次)。您可以通过在每个键之前添加“_”字符来解决此问题。
var hours = [{}];
for (var i = 0; i < 3; i++) {
var wheel = {};
for (var j = 0, k=0; j < 24; j += .25,k++) {
wheel['_'+j] = j;
}
hours[0]['Hours'+i] = wheel;
}
这样排序就可以了,但结果(在输入字段中)也会包含'_'字符。 (例如,如果您选择3.25 1.5 4.75,则输入将包含'_3.25 _1.5 _4.75')。所以你必须编写一个formatResult函数来从它们中删除_ char:
$('#i').scroller({
theme: 'default',
display: 'inline',
mode: 'mixed',
wheels: hours,
height: 40,
formatResult: function (d){
var str = '';
for(var i = 0; i < d.length; i++)
str += d[i].substring(1) + ' ';
return str;
}
});
我希望这有帮助!