2015-07-01 41 views
0

以下是我的HTML代碼:onchange()上下拉不調用函數

我希望腳本在選擇選項時運行。我認爲我寫的代碼是正確的。 console.log()不在控制檯上打印任何內容,因此這意味着該函數未被調用。 任何人都可以幫助我嗎?這是非常基本的代碼,但我不知道它有什麼問題。

<div class="form-group required"> 
    <label for="InputLastName">For how many hours ? <sup>*</sup> </label> 
    <select name="serviceHours" id="hours" onchange="getHours(this.value)"> 
    <option value="" selected>---------</option> 
    <option value="1">1 Hour</option> 
    <option value="2">2 Hours</option> 
    <option value="3">3 Hours</option> 
    <option value="4">4 Hours</option> 
    <option value="5">5 Hours</option> 
    <option value="6">6 Hours</option> 
    <option value="7">7 Hours</option> 
    <option value="8">8 Hours</option> 
    <option value="9">9 Hours</option> 
    <option value="10">10 Hours</option> 
    <option value="11">11 Hours</option> 
    <option value="12">12 Hours</option> 
    </select> 
    <script type="text/javascript"> 
     function getHours(value){ 
      var hours = value; 
      console.log(hours+ " hello"); 
     } 
    </script> 
</div> 

如果我更改函數名稱控制檯沒有提供錯誤未定義函數或函數未找到。

如果我將onchange =「getHours(this.value)」替換爲onchange =「alert(this.value);」它也不工作。

任何人都可以告訴jquery這樣做嗎?

+0

你是否在'console'中遇到錯誤? – Tushar

+0

沒什麼,完全沒有錯誤。 – S7H

+0

Working pluner http://plnkr.co/edit/I8kk9PzF0GYYsIkJQ6eS?p=preview – squiroid

回答

0

你的答案似乎是正確的。

我做的唯一的改變是將js分隔成另一個文件,並以我寫它的方式製作函數。

來源:

<script type="text/javascript"> 
    function getHours(value){ 
     var hours = value; 
     console.log(hours+ " hello"); 
    } 
</script> 

要:

var getHours = function (value) { 
    var hours = value; 
    alert(hours + " hello"); 
}; 

這句法的變化不應該有所作爲。

+0

甚至沒有onchange =「alert(this.value);」正在我的頁面上工作。它就像函數onchange()沒有被調用。我已經在Chrome和Firefox中嘗試過,我沒有收到任何錯誤。相同的代碼正在處理小提琴和笨蛋。我的頁面上的 – S7H

0
<!DOCTYPE html> 
<html lang="en-US"> 
<head> 

    <meta charset="UTF-8"> 

    <title> 
     Exp 
    </title> 


</head> 

<body> 

<div class="form-group required"> 
    <label for="InputLastName">For how many hours ? <sup>*</sup> </label> 
    <select name="serviceHours" id="hours" onChange="getHours()"> 
    <option value="" selected>---------</option> 
    <option value="1">1 Hour</option> 
    <option value="2">2 Hours</option> 
    <option value="3">3 Hours</option> 
    <option value="4">4 Hours</option> 
    <option value="5">5 Hours</option> 
    <option value="6">6 Hours</option> 
    <option value="7">7 Hours</option> 
    <option value="8">8 Hours</option> 
    <option value="9">9 Hours</option> 
    <option value="10">10 Hours</option> 
    <option value="11">11 Hours</option> 
    <option value="12">12 Hours</option> 
    </select> 



</div> 

<script type="text/javascript"> 
     function getHours(){ 
      var hours = document.getElementById("hours").value; 
      alert(hours); 
     } 
    </script> 

</body> 

</html> 

上述代碼警告小時數。也許這會有所幫助。

+0

onchange =「alert(this.value);」也不起作用。 – S7H

+0

這很有趣。它在這裏工作。 Try - onChange =「alert(this.value);」 –

+0

我已經嘗試了一切。 onchange或onChange什麼都沒有調用任何東西。 – S7H