Я использую помощник тега, чтобы создать поле ввода, которое использует функцию автозаполнения jquery.asp.net mvc 6 tag helper inting script
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>");
}
autocomplete.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: $ is not defined
Так что мой автозаполнения сценарий может 't найти файл jquery.js, но asp.net автоматически добавил его, и когда я проверяю страницу, я могу видеть файл jquery.js, но каким-то образом мой скрипт не может ... Может ли кто-нибудь предложить какое-либо решение этой проблемы?
Было бы полезно, чтобы увидеть, если вы ссылаетесь JQuery после того, как помощник оказаны. –