2013-08-23 2 views
-1

jQuery 자동 완성에서 모든 사용자 이름을 얻으려고하고 있지만 전혀 작동하지 않습니다.jQuery에서 자동 완성이 작동하지 않습니다.

컨트롤러 -

public ActionResult Allusers(string Email) { 
      if (ModelState.IsValid) { 
       var allUser = (from us in db.SystemUsers 
          select new UserModel 
       { 
       Email=us.Email, 
       UserId=us.UserId 
       }).Distinct().ToArray(); 

       // ViewBag.Team = allUser.OrderBy(x => x.Text); 
       return Json(allUser,JsonRequestBehavior.AllowGet); 
      } 
      return View(); 
     } 

는 스크립트

<script type="text/javascript"> 
    $(function() { 
     $("input #autocomplete").autocomplete({ 
      source: function (request, response) { 
       $.ajax({ 
        url: '/AllUsers/AllUsers/', 
        type: "POST", 
        dataType: "json" 

       }); 
      } 
     }); 
    }); 
</script> 

것은 내가 - 그것을

<script src="../../Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script> 
<script src="../../Scripts/jquery-1.6.2.min.js" type="text/javascript"></script> 
<script src="../../Scripts/jquery-ui-1.8.11.js" type="text/javascript"></script> 

하지만 행운을 위해 사용하고 스크립트를 다음과 같습니다.

+0

"하지만 전혀 작동하지 않는 것 같습니다." 그것은 작동하거나하지? 그렇지 않다면 우리에게 자세한 내용을 알려주십시오. – glautrou

+0

@glautrou, 아니요, 작동하지 않습니다. 테이블에서 사용자 이름 목록을 가져 오려고합니다. – Manoj

답변

0

봅니다을 참조 응답 매개 변수의 성공 함수를 정의하고 작성해야 아래 나를 위해 일했다. 내 경우에는 json 결과가 문자열 배열이므로 반환 된 데이터에 대한 열이 없습니다.

html 대신 .cshtml을 사용하는 경우 번들 구성에 javascript 및 css 파일을 추가/등록해야합니다. 공유 또는 해당 cshtml 파일에 필수 파일을 렌더링합니다. 부분 아래

<input type='text' id='stockName'/> 

은 매우 까다 롭고 중요하다 : 당신의 cshtml 파일에 그 후

라인 아래 추가

$(function() { 
     $('#stockName').autocomplete({ 
      source: function (request, response) { 
       $.getJSON("/EquityList/GetStockNames?term=" + request.term, function (data) { 
              var realArray = $.makeArray(data) 

        response($.map(realArray, function (item) { 
         return { 
          value: item, 
          id: item 
         } 
        })) 

       }); 
      }, 
      minLength: 3, 
      delay: 0 
     }); 
}); 

중요 참고 : 우리가 배열로 JSON 데이터를 포맷해야 1) 먼저 2) 우리는지도 함수를 사용할 필요가 있습니다.이 형식은 자동 완성을 위해 필요한 형식으로 데이터를 형식화합니다. 이 데이터 형식화가 완료 될 때까지 제안 대화 상자 UI가 표시되지 않습니다.

다른 개발자에게 도움이되기를 바랍니다.

0

당신은 내가 그러나이 또한 stucked했다

<script type="text/javascript"> 
$(function() { 
    var itemList = []; 
    $("input #autocomplete").autocomplete({ 
     source: function (request, response) { 
      $.ajax({ 
       url: '/AllUsers/AllUsers/', 
       type: "POST", 
       dataType: "json", 
       Sucess: function(result) { 
        $.each(result, function (index, item) { 
         itemList.push({ label: item.Email, value: item.UserId}); 
        }); 
       } 
      }); 
     response(itemList); 
     } 
    }); 
}); 

관련 문제