我使用了这个 jquery 插件:
http://fgelinas.com/code/timepicker/
动态地,我试图获取与事件 onHourShow 调用的 OnHourShowCallback 函数相对应的代码行。目标是根据 DropDownList 中选择的选项和用户选择的特定日期动态更改这行代码。所有这些都是根据所选办公室 (DropDownList) 的可用时间。
最初这行代码是空的,直到用户选择一个办公室并指示日期,时间安排显示在时间选择器中,但是在回发之后代码行仍然是空的。我尝试了返回这一行的 ASP.NET 函数,手动发送参数并返回正确的数据。
这是我在头部的 Js 代码:
function prepareScripts() {
$('#<%=Me.txtHrSalX.ClientID%>').timepicker({
onHourShow: OnHourShowCallback
});
function OnHourShowCallback(hour) { <%= getHoursByOffice(Me.DropDownOffice.SelectedValue, Me.txtDate.Text) %>
//if ((hour == 14 || hour == 15) || (hour > 20) || (hour < 6)) { return false; } // This is the dynamic line that I am trying to get
return true; // valid
}
}
$(document).ready(function () {
prepareScripts()
});
这是 ASP.Net 代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ScriptManager.RegisterStartupScript(Me, Me.GetType, "JQuery", "prepareScripts();", True)
End Sub
Public Function getHoursByOffice(ByVal strOffice As String, ByVal strDate As Date) As String
...
End Function
我想提一下,我在同一页面上有 datepicker JQuery 并且即使使用 updatepanel postback 也能完美工作。问题不在于更新面板内的 JQuery 函数,问题是我无法特别更改此设置(OnHourShowCallback 中的动态行)时间选择器插件以在更新面板中进行回发。
感谢您在这方面的任何帮助。