0
我試圖讓下面的JavaScript來自動更新下面的輸入字段(釐米),當用戶選擇那裏的高度和英寸。它應該自動計算釐米,並且不工作。JavaScript更新onchange
<script type="text/javascript">
updateHeights:function(type){
if(type=='english'){
var feet=parseInt($F('feet'));
var inches=parseInt($F('inches'));
var cm=((feet*12+inches)*2.54).round();
$('centimeters').value=(feet?cm:'');
}
else
{
var cm=parseInt($F('centimeters'))||183;
if(cm>241||cm<91)cm=183;
var inches_total=(cm*0.3937).round();
var feet=(inches_total/12).floor();
var inches=inches_total%12;
$('feet').value=feet;
$('inches').value=inches;
$('centimeters').value=cm;
}
}
</script>
<label>Height:</label>
<select id="feet" name="add[feet]" onchange="Profile.updateHeights('english')">
<option value="">—</option>
<option value="7">7</option>
<option value="6">6</option>
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
</select>ft.
<select id="inches" name="add[inch]" onchange="Profile.updateHeights('english')">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
</select>in. or
<input id="centimeters" type="text" name="centimeters" maxlength="3" value="178" onchange="Profile.updateHeights('metric')" style="width: 30px;" />
centimeters
您是否嘗試過調試?你的代碼是否被執行?什麼部分不起作用? – mrtsherman
'$ F()'函數是在什麼地方定義的?我們可以假設你的'updateHeights:function()...'只是一個沒有被顯示的'Profile'對象的一個屬性嗎?因爲發佈的這個語法無效,所以我們無法分辨該對象的定義是否有問題。另外,爲什麼你硬編碼_my_身高(183釐米)? – nnnnnn