2014-09-03 226 views
0

我有一个下拉列表如下图所示:下拉列表onchange事件不触发

<asp:DropDownList ID="ddlExtraHoursStatus" runat="server" CssClass="dropdown" 
               Width="130px"> 
              </asp:DropDownList> 

在我的代码是什么做的是我设置其属性上的Page_Load调用它的“的onchange”事件JS功能。当我运行页面并更改下拉选择时,它完美地工作。

的问题还是我的问题是为什么onchange事件不解雇(它调用JS功能),当我在代码中更改下拉的SelectedValue属性后面?????

我在这里卡住了,怎么把我的进一步处理取决于此。请帮助

+0

不能火从服务器客户端的事件。 – 2014-09-03 09:29:41

+0

http://stackoverflow.com/questions/14811718/how-to-call-a-javascript-function-using-asp-net-dropdown-list – AmanVirdi 2014-09-03 09:38:26

回答

1

下拉值在服务器端更改后的页面加载新鲜的浏览器和JavaScript(如果你不使用更新面板)。所以在客户端的页面加载时,您需要调用onchange事件中调用的函数。如果你想调用的函数只有在下拉列表中值已更改,你可以做到这一点,如下(如果你正在使用jQuery)

jQuery(document).ready(function(){ 
    DropdwonOnChangeFunction(); 
}); 

,你需要保持它具有先前选定值隐藏标志下降。您可以在代码后面的页面加载开始时设置此字段。然后使用该字段中的值可以决定是否要调用该函数。如下。

jQuery(document).ready(function(){ 
    if($("#hdnDdlOldValue").val()!=$("#ddlExtraHoursStatus").val()) 
    { 
     DropdwonOnChangeFunction(); 
     } 
    }); 

这里我使用了静态ID。您可以使用客户端ID。

+0

感谢您指出我在正确的方向的可能的复制。实际上,我在绑定下拉菜单后,从代码后面调用JS函数。万分感谢 !!!! – 2014-09-03 10:39:40