我知道我可以将更改事件附加到 mvc 中的 html.dropdownlist,如下所示:
$('#ddList').change(function() {
var value = $(this).val();
});
但是,有没有办法让我做得更像
<%=Html.DropDownList("ddList", Model.dropDown, new { @class = "Ddl", change = "ddListChange" })%>
下面的js函数:
function ddListChange() {
alert("test");
}
此外,还有一种方法比另一种更受欢迎吗?
最佳答案
是的,你很接近,因为 onchange
属性就是您要查找的内容。
<%= Html.DropDownList("ddList", Model.dropDown, new { @class = "Ddl", onchange = "ddListChange" }) %>
jQuery 跳过 on
事件的方法/参数中的部分事件名称,例如.click(...) / .bind('click',..)
等于 onClick
属性。
使用 javascript 本身绑定(bind)事件处理程序是首选方式。就像您将样式分离到单独的 CSS 文件中一样,您将脚本分离到您自己的脚本文件中。这使得 HTML 文件更清晰、更易于阅读,此外还可以将表示的关注点与脚本正在执行的操作分开。它还使您的页面更容易优雅地降级(即使未启用脚本也能正常工作)。
Here是一篇讨论问题的文章
关于javascript - mvc dropdownlist - 在不附加事件处理程序的情况下捕获更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4160735/