我有一个如下所示的下拉列表:
<asp:DropDownList ID="ddlExtraHoursStatus" runat="server" CssClass="dropdown"
Width="130px">
</asp:DropDownList>
在我的代码中,我做的是在Page_load上设置它的属性,以便在'onchange'事件上调用JS函数。当我运行页面并更改下拉选项时,它可以正常工作。
我遇到的问题或问题是当我在代码后面的代码中更改下拉列表的selectedvalue属性时,为什么没有触发onchange事件(调用JS函数)?
我被困在这里,因为我的进一步过程取决于此。请帮忙
答案 0 :(得分:1)
在服务器端更改下拉列表的值后,页面会为浏览器和javascript加载新内容(如果您没有使用更新面板)。因此,在客户端页面的加载时,您需要调用在onchange事件中调用的函数。你可以这样做(如果你使用jquery)
jQuery(document).ready(function (){
DropdwonOnChangeFunction();
});
如果只想在下拉列表中的值发生更改时调用该函数,则需要维护一个隐藏标志,该标志具有下拉列表的先前选定值。您可以在代码隐藏的页面加载开始时设置此字段。然后使用此字段中的值,您可以决定是否要调用该函数。如下所示。
jQuery(document).ready(function (){
if( $("#hdnDdlOldValue").val()!=$("#ddlExtraHoursStatus").val())
{
DropdwonOnChangeFunction();
}
});
这里我使用了静态ID。您可以使用客户端ID。