【发布时间】:2016-11-20 19:39:45
【问题描述】:
我正在使用标签助手创建使用 jquery 自动完成功能的输入字段。
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "div";
output.TagMode = TagMode.StartTagAndEndTag;
output.Content.AppendHtml("<input id='QuickFilter' autocomplete='on' class='form-control' />");
output.Content.AppendHtml("<script type='text/javascript' src ='../js/autocomplete.js'></script>");
}
自动完成.js
$(document).ready(function () {
$("#QuickFilter").autocomplete({
source: function (request, response) {
$.ajax({
url: "/PhoneChange/Autocomplete",
type: "POST",
dataType: "json",
data: { Prefix: request.term },
success: function (data) {
response($.map(data, function (item, i) {
return {
label: item["clientName"] + " " + item["clientSurname"] + " " + item["clientPhone"],
value: item
};
}))
}
})
},
messages: {
noResults: "",
results: function () { }
},
select: function (event, ui) {
event.preventDefault();
$("#OldPhoneNumber").val(ui.item.value["clientPhone"]);
$("#AgreementId").val(ui.item.value["id"]);
$("#QuickFilter").val(ui.item.label);
}
});
});
问题是,当我的标签助手被触发并在控制台中生成 html 时,我得到了错误
ReferenceError: $ 未定义
所以我的自动完成脚本找不到 jquery.js 文件,但是 asp.net 自动添加了它,当我检查页面时,我可以看到 jquery.js 文件,但不知何故我的脚本不能...任何人都可以提出任何建议解决这个问题?
【问题讨论】:
标签: jquery asp.net asp.net-mvc tag-helpers