javascript - mvc dropdownlist - 在不附加事件处理程序的情况下捕获更改事件

标签 javascript asp.net-mvc

我知道我可以将更改事件附加到 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/

相关文章:

javascript - 如何在将对象的构造函数更改为实例函数时保留 Javascript 对象的属性

c# - TDD:帮助编写可测试类

asp.net-mvc - 如何选择下拉列表值并在mvc3中显示?

c# - Automapper 错误说映射器未初始化

javascript - jQuery - 从任何不仅仅是单击的 <li> 中删除类

javascript - JS 比较当前时间和给定时间

javascript - td 元素上的 Onclick 函数 Kendo Scheduler

asp.net-mvc - 自动映射器列表到 int(计数)

c# - 在 Asp.Net mvc 的 View 中渲染 View

javascript - Firebase + Angularjs + Python