2016-07-25 59 views
0

我正嘗試使用下拉列表和JavaScript創建一個簡單的計算器,並且我無法獲得結果。HTML簡單下拉列表和結果

在JavaScript中,如果設置值爲Office,則編寫代碼返回1411.21。否則它應該返回500. 但是,當我點擊計算按鈕時,它什麼也不做。

這是我的HTML代碼。

<html> 
<form method="post"> 
    <td>Setting : </td> 
     <select name="Setting" id="Setting"> 
       <option value="Office">Office</option> 
       <option value="HOPD">HOPD</option> 
     </select> 

<br/> 

    <td>Facility : </td> 
     <select name="Facility" id="Facility"> 
       <option value="100015">Mount Sinai, 123 Main Street, New York</option> 
       <option value="100016">NYU Medical, 25 North Broadway, New York</option> 
     </select> 




    <table border=1> 
     <tr> 
      <td>Product Size : </td> 
      <td><100sq cm</td> 
     </tr> 

     <tr> 
      <td>Number of DFU patients :</td> 
      <td>10</td> 
     </tr> 

     <tr> 
      <td>Patient co-pay % (based on wage adj.rate) :  </td> 
      <td>20%</td> 
     </tr> 
     <tr> 
      <td>Co-Pay percent actuallly collected : </td> 
      <td>75%</td> 
     </tr> 

     <tr> 
      <td></td> 
      <td> 
      <input type="button" id="button" value="calculate" onclick="settingValue();"> 
      </td> 
     </tr> 
     <tr> 
      <td>Result :</td> 
      <td> 
      <input type="text" id="result" placeholder="result"> 
      </td> 
     </tr> 

    </table> 
</br></br> 


    <table> 
     <tr> 
      <td>Medicare Payment Category</td> <td>High</td> <td>Low</td> 
     </tr> 
     <tr> 
      <td>Medicare Payment</td> <td id="medicarepayment" style="display: none"> 
      <td> 
     </tr> 
    </table> 
</form> 
</html> 

這裏是java腳本代碼。

<script type="text/javascript"> 
     var mydata = { 
      'Mount Sinai': ['100015','123 Main Street','New york'], 
      'NYU Medical' : ['100016,'25 North Broadway','New York] 
      } 
    var firstNum; 
    var secondNum; 
    var settingValue; 

    function settingValue(){ 
     settingValue=document.getElementById("Setting").value; 
     document.getElementById("result").value=medicarePaymentCal(settingValue); 

    } 


    function medicarePaymentCal(value1){ 
     var result; 
     if(value1=="Office"){ 
      return 1411.21; 
     } else { 
      return 500; 
     } 


    } 

    function init() { 
     var button=document.getElementById("button"); 
      button.onclick=medicarePaymentCal(); 
    } 

</script> 

回答

1

它看起來就像你正在試圖獲得document.getElementById("setting").value但實際ID爲 「設置」 按

<select name="Setting"> 
      <option value="Office">Office</option> 
      <option value="HOPD">HOPD</option> 
    </select> 

嘗試改變的getElementById到document.getElementById("Setting").value

編輯

好,我爲你製作了一個JSFiddle: https://jsfiddle.net/dktoxtne/1/

讓我知道如果這有效!我不記得我所有的改變,但我記得你需要將name="Setting"改爲id="Setting"以及其他一些東西。

+2

此外,result元素聲明爲只讀(儘管這是typo'd),並且元素永遠不會關閉。 – Devsman

+0

我將其更改爲document.getElementById(「Setting」)。value並且它仍然不起作用。 –

+0

正如@Devsman所示,Result Input存在錯字,嘗試更改 –

0
function settingValue(){ 
       //settingValue=document.getElementById("setting").value; 
       var e = document.getElementById("Setting"); 
       var settingValue = e.options[e.selectedIndex].value; 
       document.getElementById("result").value=medicarePaymentCal(settingValue); 

      }