我有一个下拉列表:
@Html.DropDownList("CharacterID")
以及以下jQuery:
$(document).ready(function(){
$("#CharacterID").on(change, "#CharacterID", (function () {
alert("I've Changed");
//var id = $('#CharacterID').val();
}));
});
当我更改其中一个下拉选项时,它不会触发。
我该怎么做才能解决这个问题?我已经查看了类似的问题和答案,并尝试将这些问题和答案合并,但它们还没有奏效。
以下是我在JSFiddle中运行它时会发生什么:http://jsfiddle.net/vgMdF/
答案 0 :(得分:2)
两个问题:
change
是一个字符串,而不是一个魔术变量。在它周围添加报价。$(document).on()
。
$(document).ready(function(){
$(document).on("change", "#CharacterID", (function () {
alert("I've Changed");
//var id = $('#CharacterID').val();
}));
});
你可以在这里看到这个:http://jsfiddle.net/h3q5d/
使用整页和jquery加载 - 它也有效:http://jsfiddle.net/vgMdF/1/
答案 1 :(得分:1)
您需要在演示中包含jQuery,它应该按预期工作。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
对于jsFiddle
,您可以从Extensions & Frameworks
标签中选择jQuery版本。
<强> Updated Fiddle 强>
答案 2 :(得分:0)
你可以试试这个:
$(document).ready(function(){
$("#CharacterID").on('change',function () {
alert("I've Changed");
//var id = $('#CharacterID').val();
});
});
答案 3 :(得分:0)
这里的问题是,你的jsfiddle从未包含 jquery ,因为它从未运行
检查这个小提琴 http://jsfiddle.net/qg5Dh/1/
$(document).ready(function () {
$(document).on("change", "#CharacterID", (function () {
alert("I've Changed");
//var id = $('#CharacterID').val();
}));
});
效果很好,代码工作正常
答案 4 :(得分:0)
试试这个:
$(document).ready(function () {
$('#CharacterID').change(function(){
alert("test");
});
});