Javascript implementiert die Einheitenumrechnung in Quadratmeter, Mu und Hektar. Sie können Parameter über die URL übergeben, um den Wert des Eingabefelds als Wert einer beliebigen mittleren Einheit anzugeben.
Der Quellcode lautet wie folgt:
<!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>