JS代码:
function banChanged(){
$("#BanReason").on("change",function(){
if($(this).val() == "scrammer")
$("#BanLength").val("1week");
});
}
HTML code:
<select id="BanReason" onchange="banChanged()">
<option value="hack">Hack</option>
<option value="badlang">Bad Language</option>
<option value="scrammer">Scrammer</option>
</select>
<select id="BanLength">
<option value="1day">1 Day</option>
<option value="2days">3 Days</option>
<option value="1week">1 Week</option>
</select>
JavaScript是一个不同的位置。当我单击选择更改值时,我得到这个“不是函数”错误。该脚本以内联方式工作,但需要在<script type="text/javascript" src="./test.js"></script>
标记中加载。
任何人都可以帮助我吗?
答案 0 :(得分:2)
$(document).ready(function() {
$("#BanReason").on("change", function() {
if ($(this).val() == "scrammer")
$("#BanLength").val("1week");
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="BanReason">
<option value="hack">Hack</option>
<option value="badlang">Bad Language</option>
<option value="scrammer">Scrammer</option>
</select>
<select id="BanLength">
<option value="1day">1 Day</option>
<option value="2days">3 Days</option>
<option value="1week">1 Week</option>
</select>
还要确保在脚本之前加载jQuery,并且脚本的路径是正确的。 ./test.js
表示您的脚本与.html文件位于同一文件夹中。
答案 1 :(得分:1)
删除由onchange()
附加的内联事件,因为您已经在js代码中附加了on change事件,同时删除了函数声明,只留下ready函数包含的内容,请查看下面的示例。
希望这有帮助。
$(function(){
$("#BanReason").on("change",function(){
if($(this).val() === "scrammer")
$("#BanLength").val("1week");
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="BanReason">
<option value="hack">Hack</option>
<option value="badlang">Bad Language</option>
<option value="scrammer">Scrammer</option>
</select>
<select id="BanLength">
<option value="1day">1 Day</option>
<option value="2days">3 Days</option>
<option value="1week">1 Week</option>
</select>