javascript实现平方米,亩,公顷单位换算,可以通过url传递参数指定输入框的值为任何中单位的值。
源代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <html xmlns= "http://www.w3.org/1999/xhtml" > <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <title>javascript实现的平方米、亩、公顷单位换算小程序</title> </head> <body> <select onchange= "selectChange(this)" id= "sel" > <option value= "公顷" >公顷</option> <option value= "亩" >亩</option> <option value= "平方米" >平方米</option> </select> 这个input的值可能是3公顷、3亩、3平方米 <input type= "text" value= "3" id= "input0" /> <script type= "text/javascript" > var a = parseInt( '0' ); /////这里改为你动态接受到的值,0代表单位为平方米,1为亩,2为公顷 var sel = document.getElementById( 'sel' ); sel.selectedIndex = 2 - a; /////设置单位下拉 var lastUnit = document.getElementById( 'sel' ).value; //记录当前单位 var input = document.getElementById( "input0" ); //10000平米 = 15亩 = 1公顷 var fRate = { //换算率 公顷: { 亩: 15, 平方米: 10000 }, 亩: { 平方米: 10000 / 15, 公顷: 1 / 15 }, 平方米: { 亩: 15 / 10000, 公顷: 1 / 10000} }; function selectChange(obj) { //单位改变,执行换算 var v = parseFloat(input.value); //得到原来的值 //执行换算,注意fRate的取值,得到上一次的单位节点,再取当前单位的换算率 var rst = (v * fRate[lastUnit][sel.value]).toFixed(4); //保留4位小数 input.value = rst; lastUnit = sel.value; //更新当前单位变量 } </script> </body> </html> |