我需要使用JQuery的UI库调用以下代码来呈现一个combox框:
//renders combobox element with JQueryUI library
function renderComboBox() {
$("#combobox").combobox();
}
当我在标题中包含以下js时,我可以执行它:
//when doc is ready calls into function to render combobox
$(function() {
renderComboBox();
});
但是,根据加载时可用的条件,我要么决定运行还是不运行代码。我希望用以下类似的东西来做到这一点:
Private Sub Page1_Load(sender As Object, e As EventArgs) Handles Me.Load
If .... Then
ClientScript.RegisterStartupScript(Me.GetType, _
"RenderCombo", "renderComboBox();", True)
End If
End Sub
但它似乎并没有起作用。有什么想法吗?
更新:Here's一个jsFiddle来展示我尝试做的事情,但它没有超级帮助,因为它没有帮助贯穿任何ASP.NET特定代码。
答案 0 :(得分:3)
因为它全部依赖于JQuery,所以您需要确保renderComboBox()
仅在页面准备就绪时触发,因此将$(function() { })
代码添加到您page_load
<上输出的代码中/ p>
当前正在发生的是您的页面加载,以及renderComboBox()
立即触发 - 它将在您的任何JQuery或UI准备好之前触发。
因此,请尝试将您的Javascript修改为:
ClientScript.RegisterStartupScript(Me.GetType, _
"RenderCombo", "$(function() { renderComboBox();})", True)