我有一个下拉列表:
@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/
两个问题:
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/
您需要在演示中包含 jQuery,它应该按预期工作。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
对于
jsFiddle
,您可以从 Extensions & Frameworks
选项卡中选择 jQuery 版本。
你能试试这个吗:
$(document).ready(function(){
$("#CharacterID").on('change',function () {
alert("I've Changed");
//var id = $('#CharacterID').val();
});
});
这里的问题是,你的 jsfiddle 永远不会包含 jquery,那就是它永远不会运行
检查这个小提琴 http://jsfiddle.net/qg5Dh/1/
$(document).ready(function () {
$(document).on("change", "#CharacterID", (function () {
alert("I've Changed");
//var id = $('#CharacterID').val();
}));
});
它运行良好,代码运行良好
试试这个:
$(document).ready(function () {
$('#CharacterID').change(function(){
alert("test");
});
});
我知道这可能是一篇旧帖子,但我认为它可能对某人有帮助。
我的问题是页面上的某些标签创建了空间,例如