我想在asp.net中使用jquery ui自动完成插件。这是我的后台代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim locations As String() = New String() {"Las Vegas", "Los Angeles", "Tampa", "New York", "s", "sss"}
Dim jsArray As String = GetJSArrayForVBArray(locations)
Me.ClientScript.RegisterArrayDeclaration("usernames", jsArray)
End Sub
Private Function GetJSArrayForVBArray(ByVal vbArray As String()) As String
Dim myResult As New StringBuilder()
For Each item As String In vbArray
With myResult
.Append(",'" & item & "'")
End With
Next
If (myResult.Length > 0) Then
Return myResult.ToString().Substring(1)
Else
Return ""
End If
End Function这是html代码:
<script type="text/javascript">
$(function () {
var availableTags = new Array();
$("#tags").autocomplete({
source: availableTags
});
});
</script>
<label for="tags">Tags: </label>
<input id="tags" />有什么问题吗?它不起作用。当我在aspx页面中填充数组时,它可以工作,但当我想在后台代码中填充时,它就不行了。谢谢。
发布于 2010-08-07 16:06:25
尝试将您的JS更改为:
<script type="text/javascript">
$(function () {
$("#tags").autocomplete({
source: usernames
});
});
</script>如果我没猜错您的.Net代码,那么您将“用户名”注册为javascript数组,但试图使用空的“availableTags”作为自动补全源。
注意:这在这里可能是完全错误的--我还没有在之前编写的代码中实际使用过ClientScript.RegisterArrayDeclaration或jQuery autocomplete插件。
https://stackoverflow.com/questions/3429651
复制相似问题