程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> select-下拉列表聯動多個文本框計算

select-下拉列表聯動多個文本框計算

編輯:編程解疑
下拉列表聯動多個文本框計算

圖片說明

 <html>
<head>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin     
var messages = new Array(); 
messages[0] = "美元";         //這裡寫入每個選項對應的說明文字
messages[1] = "人民幣";
messages[2] = "英鎊";    
messages[3] = "日元";
messages[4] = "0.5";            //這裡寫入每個選項對應的說明文字
messages[5] = "0.6";

//根據需要,這裡應該隨著選項的改變而增減項目
function messageReveal() {  
var messageindex = document.messageForm.messagePick.selectedIndex;  //取得當前下拉菜單選定項目的序號
if(helpmsg = messages[1]){
    helpmsg = messages[2];  
    helpmsg1 = messages[3];     //根據序號取得當前選項的說明
    helpmsg2 = messages[4]; 
    helpmsg3 = messages[5]; 

    //想在這計算可以兌換的幣種了  每個幣種多少錢  應該看代碼就看明白 嘿嘿 但是我不知道怎麼就算了  每個條件裡都得計算
    document.messageForm.messageField.value = helpmsg
    document.messageForm.messageField1.value = helpmsg1         //將說明寫進文框
    document.messageForm.messageField2.value = helpmsg2
    document.messageForm.messageField3.value = helpmsg3
}else if(helpmsg = messages[2]){
//這個就不好使了  我不知道原因  我估計是else if()裡的條件不對  當然了寫的有點亂
    helpmsg4 = messages[1]; 
    helpmsg5 = messages[3];     //根據序號取得當前選項的說明
    document.messageForm.messageField.value = helpmsg4
    document.messageForm.messageField1.value = helpmsg5
}


}
// End -->
</SCRIPT>
<title>下拉菜單和文本框構建的介紹欄</title>
</head>
<body>
<form name="messageForm">
<select name="messagePick" OnChange="messageReveal()">
<option value="0">美元
<option>人民幣
<option>英鎊
<option>日元
</select>
金額<input id="money" type="text"  />
<br><br><br><br><br>
幣種<input name="messageField" type="text" style="overflow:auto" />
兌換金額<input name="messageField4" type="text" style="overflow:auto" />
兌換利率<input name="messageField2" type="text" style="overflow:auto" /><br>
幣種<input name="messageField1" type="text" style="overflow:auto" />
兌換金額<input name="messageField5" type="text" style="overflow:auto" />
兌換利率<input name="messageField3" type="text" style="overflow:auto" />
</form>
</body>
</html>
這個是我寫的  但是我不知道為什麼 執行第二個條件執行不了 可能是條件不對 在沒個if裡都要有個計算   最好在我的基礎改動 這樣按能看明白   如果不是 請寫上注釋 謝謝

最佳回答:



    <form name="messageForm">
        <div class="refitem">
            幣種:<select onchange="outputRst()" id="sMoney">
                   <option>請選擇..</option>
                <option>美元</option>
                <option>人民幣</option>
                <option>英鎊</option>
                <option>日元</option>
            </select>
            金額<input type="text" id="amount" onchange="outputRst()" />
        </div>
        <br /><br />
        <table id="tbRst" border="1">
            <tr><td>幣種</td><td>兌換金額</td><td>匯率</td></tr>
        </table>
    </form>

<script>
    var rate = { 美元: { 人民幣: 6.5781, 英鎊: 0.6943, 日元: 119.53,美元:1 } };//參考對照
    var Money = ',美元,人民幣,英鎊,日元,';
    var tbRst = document.getElementById('tbRst'), tr,td;
    var refMoney, refAmount, tMoney, tAmount, tRate;
    var sel = document.getElementById('sMoney');
    function outputRst() {
        //移除上一次的轉換
        while (tbRst.rows.length > 1) { tr = tbRst.rows[tbRst.rows.length - 1]; tr.parentNode.removeChild(tr); }
        if (sel.selectedIndex == 0) return;

        refMoney = sel.options[sel.selectedIndex].text;//參考幣種
        refAmount = parseFloat(document.getElementById('amount').value) || 0;//數量
        var arr = Money.replace(',' + refMoney + ',',',').replace(/^,|,$/g, '').split(',');//刪除參考幣種後拆分得到目標幣種

        for (var i = 0; i < arr.length; i++) {
            tMoney = arr[i];
            if (refMoney == '美元') tRate = rate.美元[tMoney];//美元,有參考值可取,不需要計算
            else tRate = 1 / rate.美元[refMoney] * rate.美元[tMoney]; //不是美元,需要重新換算匯率

            tr = tbRst.insertRow(tbRst.rows.length);
            td = tr.insertCell(0); td.innerHTML = tMoney;
            td = tr.insertCell(1); td.innerHTML = (tRate * refAmount).toFixed(2);
            td = tr.insertCell(2); td.innerHTML = tRate.toFixed(4);
        }
    }
</script>
showbo
showbo
qq_15290009
qq_15290009
showbo
showbo
qq_15290009
qq_15290009
showbo
qq_15290009
qq_15290009
showbo
showbo
qq_15290009
qq_15290009
showbo
qq_15290009
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved