2010-11-12 55 views
4

我知道我可以附着变更事件MVC到html.dropdownlist,如下图所示:MVC下拉列表 - 捕获更改事件不附加事件处理程序

$('#ddList').change(function() { 
      var value = $(this).val(); 


     }); 

但是,有没有办法,我可以做到这一点更像

<%=Html.DropDownList("ddList", Model.dropDown, new { @class = "Ddl", change = "ddListChange" })%> 

JS以下功能:

function ddListChange() { 
     alert("test"); 
    } 

还有,就是一个更的方法更优选的第另一个?

回答

4

是的,你很近,因为onchange属性是你要找的。

<%= Html.DropDownList("ddList", Model.dropDown, new { @class = "Ddl", onchange = "ddListChange" }) %>

jQuery的跳过的事件,例如它的方法/参数的事件名称的on部分.click(...)/.bind('click',..)等于onClick属性。

绑定事件处理程序使用JavaScript本身是首选的方法。就像您将样式分隔为单独的CSS文件一样,您可以将脚本分离为您自己的脚本文件。这使得HTML文件变得更清晰和更易于阅读,除了分离prensentation的问题以及脚本正在做的事情。它还使得页面更容易降级(即使脚本未启用也可以工作)。

Here是一篇文章讨论问题