jQuery 자동 완성 플러그인 호출
-
19-09-2019 - |
문제
jQuery의 자동 완성을 사용하고 페이지의 배열 값을 하드 코드하면 훌륭하게 작동합니다. 그러나 내가해야 할 일은 웹 서비스 나 컨트롤러 내부의 공개 기능에서 배열 값을 얻는 것입니다. 나는 다양한 방법을 시도했지만 작동하게 할 수없는 것 같습니다. 내가 얻은 가장 먼 것은 데이터를 긴 문자열로 끌어 올리는 것입니다. 자동 완료 결과가 제공되면 긴 줄이 일치하는 긴 문자열입니다.
$("#TaskEmailNotificationList").autocomplete("http://localhost/BetterTaskList/Accounts/registeredUsersEmailList", {
multiple: true,
mustMatch: false,
multipleSeparator: ";",
autoFill: true
});
누구든지 이것을 만난 사람이 있습니까? C#을 사용하고 있습니다.
업데이트:아래 코드는 한 걸음 앞으로 나아가고 있습니다. 이제 배열이 반환되고 있지만 내 페이지에서 잘못 처리하고 있다고 생각합니다.
var emailList = "http://localhost/BetterTaskList/Account/RegisteredUsersEmailList";
$("#TaskEmailNotificationList").autocomplete(emailList, {
multiple: true,
mustMatch: false,
multipleSeparator: ";",
autoFill: true
});
[HttpGet]
public ActionResult RegisteredUsersEmailList()
{
BetterTaskListDataContext db = new BetterTaskListDataContext();
var emailList = from u in db.Users select u.LoweredUserName;
return Json(emailList.ToList(), JsonRequestBehavior.AllowGet);
}
해결책
먼저, 당신의 구문은 내가 익숙한 것과 다르게 보입니다. jQuery UI의 일부인 자동 완성 위젯을 사용하는 경우 자동 완성 구문은 다음과 같습니다.
$("#input1").autocomplete({
source: "http://localhost/Whatever"
});
jQuery UI에 포함 된 자동 완성을 사용하지 않을까요?
당신이 ....
에 따르면 jQuery UI Autocomplete에 대한 문서, 소스는 세 가지 중 하나 일 수 있습니다. 배열, 문자열 (URL) 또는 함수. 배열 인 경우 객체 또는 단어 일 수 있습니다. 객체가 있으면 각각은 a를 노출시켜야합니다 label
,, a value
재산 또는 둘 다.
URL 인 경우 배열 형식 중 하나를 준수하는 JSON을 반환해야합니다. 예를 들어, 돌아와야합니다
[ "albatross", "bison", "cayman", "duck", ...]
또는
[ { "label": "albatross", "value": "72" },
{ "label": "bison", "value": "24" },
...
]
아마도 위의 형식 중 하나를 준수하지 않는 것을 검색하고있을 것입니다.
또한보십시오, 이 답변
제휴하지 않습니다 StackOverflow