[英]onchange() on dropdown not calling the function
下面是我的 HTML 代碼:
我希望腳本在選擇一個選項時運行。 我認為我寫的代碼是正確的。 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>
如果我更改函數名稱,控制台不會給出錯誤 undefined functions 或 function not found 。
如果我將 onchange="getHours(this.value)" 替換為 onchange="alert(this.value);" 它也不起作用。
誰能告訴 jquery 這樣做的方式?
你的答案似乎是正確的。
我所做的唯一更改是將 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");
};
這種語法更改不應該有什么不同。
<!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>
上面的代碼以小時數發出警報。 也許這會有所幫助。
終於知道錯誤背后的原因了。 感謝 Chrome INSPECT 在 js 中保留了一些詞。 您不應該在函數中為變量名使用 value,class 之類的名稱。 嘗試將名稱更改為“hijk”之類的名稱,它會起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.