[英]Unable to call a javascript function onchange of a Select tag in MVC4
我試圖從MVC中的選擇標記調用JS函數onchange。 它似乎不起作用。 這是代碼。
在首頁視圖中,我有以下div,其中包含select標記
<div class="container">
<!-- beginning of search block -->
<form role="form">
<div class="form-group">
<select class="form-control" id="select1" name="select1" onchange="populate(this.id,'select2')">
<option value="Residential">RESIDENTIAL</option>
<option value="Commercial">COMMERCIAL</option>
</select>
<select class="form-control" id="select2" name="select2"></select>
</div>
</form>
</div>
在_Layout頁面中,我引用Scripts文件夾
<script src="~/Scripts/searchform.js" type="text/javascript"></script>
我正在調用的javascript函數是
function populate(s1, s2) {
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
s2.innerHTML = "";
if (s1.value == "Residential") {
var optionArray = ["|", "1bhk|1BHK", "2bhk|2BHK", "3bhk|3BHK", "4bhk|4BHK", "4+bhk|4+BHK"];
}
if (s1.valueOf == "Commercial") {
var optionArray = ["|", "500sft|500SFT", "1000sft|1000SFT", "1500sft|1500SFT", "2000sft|2000SFT", "2500sft|2500SFT"];
}
for (var option in optionArray) {
var pair = optionArray[option].split("|");
var newOption = document.createElement("option");
newOption.value = pair[0];
newOption.innerHTML = pair[1];
s2.options.add(newOption);
}
}
我無法弄清楚為什么未調用該函數。
為了進行第二次檢查,您使用的是s1.valueOf
而不是s1.value
您的功能將是
function populate(s1, s2) {
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
s2.innerHTML = "";
if (s1.value == "Residential") {
var optionArray = ["|", "1bhk|1BHK", "2bhk|2BHK", "3bhk|3BHK", "4bhk|4BHK", "4+bhk|4+BHK"];
}
if (s1.value == "Commercial") {
var optionArray = ["|", "500sft|500SFT", "1000sft|1000SFT", "1500sft|1500SFT", "2000sft|2000SFT", "2500sft|2500SFT"];
}
for (var option in optionArray) {
var pair = optionArray[option].split("|");
var newOption = document.createElement("option");
newOption.value = pair[0];
newOption.innerHTML = pair[1];
s2.options.add(newOption);
}
}
這對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.