2014-10-22 2 views
0

사용자 이름을 입력 할 수있는 Html.Textbox가 있습니다. 3 개 이상의 문자에 도달하면 드롭 다운에 고객 목록을 반환하는 자동 완성 함수를 호출합니다. 그들이 선택을 할 때 나는 새로운 관점을 돌려 줄 또 다른 아약스 콜을하고 싶다. 내 문제는 내가 자동 완성에서 데이터가 제거 된 두 번째 호출을 추가 할 때입니다. '선택'에동일한 함수에서 두 개의 ajax가 호출됩니다.

, 
select: function (event, ui) { 
id = ui.item.id; 
$.ajax ({ 
     url: '@Url.Action("Create", "Order")', 
     data: { customerId: id } 
     }); 
return false; 
} 

의 기본 동작 자동 완성 기능을 설정하는 것입니다 :

 $("#CustomerSearch_FullName").autocomplete({ 
      minLength: 3, 
      fontSize: '10px', 
      source: function (request, response) { 
       $.ajax({ 
        url: '@Url.Action("CustomerNameAutoComplete", "Customer")', 
        async: false, 
        data: { searchstring: $.trim(request.term) }, 
        success: function (data) { 
         response($.map(data, function (item) { 
          $('#CustomerIdDisplay').val(item.id); 
          $('#customer-select').val(item.id); 
          $('#Order_Customer_FirstName').val(item.firstname); 
          $('#Order_Customer_Email').val(item.email); 
          return { label: item.choice, id: item.id }; 
         })); 
        }, 

       }); 
      }, 
      select: function (event, ui) { 
       id = ui.item.id; 
       $.ajax ({ 
        url: '@Url.Action("Create", "Order")', 
        data: { customerId: id } 
       }); 
+0

두 번째 전화를 걸 때 원하는 것을 선택하면됩니다. jquery 변경 이벤트에 두 번째 아약스 호출을 넣지 않는 이유는 무엇입니까? –

답변

1

당신은 당신의 선택 진술에 거짓 수익을 추가해야합니다 : 이것은 내가 지금까지 무엇을 가지고 텍스트 상자 값을 자동 완성 상자에서 선택한 값으로 변경합니다. 선택 항목에 대해 다른 호출 기반을 원하기 때문에 텍스트 상자를 설정할 준비가되지 않은 경우 반환 값 false를 추가해야 기본 동작을 방지 할 수 있습니다. 두 번째 전화가 끝나면 결과에 따라 원하는 텍스트 상자를 설정해야합니다.

관련 문제