我在这里遇到麻烦了...
我正在从当前正在构建的动态表单中获得奇怪的输出。
基本上,我有一个JavaScript在用户选择选项时填写表格,以“土壤类型”»“倾斜 Angular ”»“水速”开头。现在,“水速”具有十进制值,它们全部合计为下拉选项的总值,但完全不正确。
我的选择列表如下所示:
1,
2,
3,
1.5,
2.5
代替:
1,
1.5,
2,
2.5,
3
我试着将它们全部转换为浮点值,没有运气...让我烦恼的是,对象及其属性是以正确的顺序声明的,而console.log()也会很好地输出它们,所以我很好奇如果这仅仅是HTML错误,并且有任何解决方法。
顺便说一句,我将它们添加到选择标签的方式是:
for(speed in obj[speeds]){
$('<option value=\"'+speed+'\">'+speed+'</option>').appendTo('select[name=waterspeed]');
}
提前致谢!
最佳答案
尝试先对您的speeds数组进行排序:
obj[speeds].sort(function(a, b) {
return a - b
});
另外,通常不建议在数组中使用for循环。考虑使用“常规” for循环:
for(var i = 0, max = obj[speeds].length; i < max; i++) {
var speed = obj[speeds][i];
}