日期:2014-05-16  浏览次数:20365 次

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.length;i++){
             $("<option value='"+i+"'>"+category[i]+"</option>").appendTo($("#"+obj_1));
    }
    //初始A、B下拉框
    for(var i=0;i<category_units[cindex].length;i++){
             $("<option value='"+i+"'>"+category_units[cindex][i]+"</option>").appendTo($("#"+obj_2));
              $("<option value='"+i+"'>"+category_units[cindex][i]+"</option>").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].length;i++){
             $("<option value='"+i+"'>"+category_units[cindex][i]+"</option>").appendTo($("#"+obj_2));
              $("<option value='"+i+"'>"+category_units[cindex][i]+"</option>").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]);
    });

}

?

?? ?完整代码在附件中。