js常用计量单位转换
单位转换是一简单的功能,最初是将所有转换率存入数据库, 前端通过ajax交互实现转换,因为转换的一些单位相对比较固定,后来改为放在java的二维数组中,第三次觉得完全可以省去客户端和服务器的交互,所以所有动作通过js在客户端完成。目前支持速度、面积、长度、重量、体积、温度的计算。基于jquery完成,可以改写成jquery的一个小插件。
// JavaScript Document
//初始下拉框
function unitSelecdtInit(obj_1,obj_2,obj_3,convertButton,inputText,outputText){
var cindex = 0;
var aindex = 0;
var bindex = 0;
//初始分类下拉框
for(var i=0;i
$(""+category[i]+"").appendTo($("#"+obj_1));
}
//初始A、B下拉框
for(var i=0;i
$(""+category_units[cindex][i]+"").appendTo($("#"+obj_2));
$(""+category_units[cindex][i]+"").appendTo($("#"+obj_3));
}
//绑定change事件
$("#"+obj_1).change(function(){
cindex=$(this).val();
$("#"+obj_2).empty();
$("#"+obj_3).empty();
for(var i=0;i
$(""+category_units[cindex][i]+"").appendTo($("#"+obj_2));
$(""+category_units[cindex][i]+"").appendTo($("#"+obj_3));
}
});
$("#"+obj_2).change(function(){
aindex=$(this).val();
});
$("#"+obj_3).change(function(){
bindex=$(this).val();
});
$("#"+convertButton).click(function(){
$("#"+outputText).val($("#"+inputText).val()*unit_convert[cindex][aindex][bindex]);
});
}
完整代码在附件中。