Ich habe viele Beiträge mit dem gleichen Problem gelesen, aber keine Hilfe, so Entschuldigung für die doppelte Frage :(Ich folgte dem einfachen Beispiel auf der JQueryUI-Website durch harte Codierung Werte und die Autocomplete funktioniert , aber ich brauche es aus meiner Datenbank kommenJQuery UI Autocomplete nicht erreichen ActionResult C# MVC
Ausblick:.
@Html.TextBoxFor(model => model.Position, new { @type = "text", @id = "jobtitle", @name = "jobtitle", @placeholder = "Job Title" })
JS:
EDIT: ich habe eine Warnung auf Erfolg, und der Alarm genannt wird, aber es ist nicht dat a. Keine Daten, die von DB) gezogen
<script>
$(function() {
$("#jobtitle").autocomplete({
source: function (request, response) {
$.ajax({
url: '@Url.Action("JobsAutoFill", "Account")',
data: {
Prefix: request.term
},
success: function (data) {
alert(data);
response(data);
}
});
},
minLength: 1
});
//$("#jobtitle").autocomplete({
// source: "/Account/JobsAutoFill/"
//});
});
</script>
Und ich habe die Links erforderlich hinzugefügt:
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
Unten ist meine Action (Eigentlich ein JsonResult) & Funktion zu ziehen, um die Liste der Jobs:
public List<Jobs> GetAllJobs()
{
List<Jobs> JobsList = new List<Jobs>();
using (RBotEntities EF = new RBotEntities())
{
var JobsListQuery = (from ED in EF.EmploymentDetails
select new
{
ED.pkiEmploymentDetailID,
ED.Position
});
foreach (var item in JobsListQuery)
{
JobsList.Add(new Jobs
{
Id = item.pkiEmploymentDetailID,
Name = item.Position
});
}
}
return JobsList;
}
public JsonResult JobsAutoFill(string Prefix)
{
//Note : you can bind same list from database
List<Jobs> ObjList = new List<Jobs>();
ObjList = GetAllJobs();
//Searching records from list using LINQ query
var JobNames = (from N in ObjList
where N.Name.StartsWith(Prefix)
select new { N.Name });
return Json(JobNames, JsonRequestBehavior.AllowGet);
}
Fehle ich etwas oder mache ich etwas falsch?
Ich schätze jede Hilfe, danke!
Jeder kann helfen? – AxleWack
Ignore jquery für jetzt. Dies ist eine GET-Methode. Versuchen Sie, über einen Webbrowser darauf zuzugreifen. Funktioniert es? Ist Jobs serialisierbar? Können Sie einen Breakpoint auf dem Server treffen? Was ist innerhalb des "Daten" -Objekts? Versuchen Sie auch data.Data –
Ive war in der Lage, den Controller jetzt zu erreichen und zu sehen, dass die Jobs zurückgegeben werden, aber jetzt zeigt es nicht (ich sehe nur kleine Boxen Popup mit keinem Text drin). Ich habe versucht, Daten.Data und es sagte undefiniert. – AxleWack