我的模型中有一个列表 EmployeeList
在我看来,我想从 EmployeeList(来自模型)填充一个数组,并将其用作标签的自动完成功能。似乎该数组没有从列表中填充,自动完成功能也不起作用。请帮忙。
View中的代码如下:
<title>jQuery Autocomplete example</title>
<script type="text/javascript" src="../../scripts/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../scripts/jquery.autocomplete.js"></script>
<!-- Listing 14.3 -->
<script type="text/javascript">
$(document).ready(function() {
var employeeList = '@Model.EmployeeLis.toArray();'
$("#tags").autocomplete({
source: employeeList
});
});
</script>
<h1>Type your name here</h1>
<%= Html.TextBox("tags") %>
最佳答案
您可以使用JavaScriptSerializer类将生成模型数组的 JSON 表示形式:
@using System.Web.Script.Serialization
<title>jQuery Autocomplete example</title>
<script type="text/javascript" src="@Url.Content("~/scripts/jquery-1.2.6.js")"></script>
<script type="text/javascript" src="@Url.Content("~/scripts/jquery.autocomplete.js")"></script>
<!-- Listing 14.3 -->
<script type="text/javascript">
$(function() {
var employeeList = @Html.Raw(new JavaScriptSerializer().Serialize(Model.EmployeeList));
$('#tags').autocomplete({
source: employeeList
});
});
</script>
另请注意我在脚本包含中使用 Url.Content
帮助程序的方式,以避免硬编码 URL,这在部署应用程序时可能不起作用。
关于jquery - 如何使用通过模型列表发送的数据在 javascript 中填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5375974/