我在这里遇到麻烦...... 我正在从我正在建立的动态形式中获得这种奇怪的输出。
基本上我有一个JavaScript填写表格,而用户选择一个选项,从'土壤类型'»'坡度角'»'水速'开始。现在,'水速'有十进制值,它们都可以合计下拉选择,但完全没有问题。
我的选择列表如下:
1, 2, 3, 1.5, 2.5
而不是:
1, 1.5, 2, 2.5, 3
我尝试将所有这些转换为浮动值而没有运气......什么在困扰我,是对象和它的propreties以正确的顺序声明,console.log()输出它们也很好,所以我是好奇,看看这是否只是HTML错误,以及是否有任何解决方法。
顺便说一句,我将它们添加到select标签的方式是:
for(speed in obj[speeds]){
$('<option value=\"'+speed+'\">'+speed+'</option>').appendTo('select[name=waterspeed]');
}
提前致谢!
答案 0 :(得分:1)
首先尝试对速度阵列进行排序:
obj[speeds].sort(function(a, b) {
return a - b
});
此外,对于数组,通常不建议使用in循环。考虑使用“常规”for循环:
for(var i = 0, max = obj[speeds].length; i < max; i++) {
var speed = obj[speeds][i];
}