2013-11-21 3 views
0

검도 자동 완성에 문제가 있습니다. 자동 완성 위젯을 적용하려는 몇 가지 필드가있는 양식이 있습니다. 이러한 필드 중 일부는 사용자가 일부 작업을 수행 한 후에 동적으로 만들어집니다.검도 자동 완성으로 새 데이터 소스

는 여기에 내가했던 일이야 :

function myAutoComplete() { 

    $("input.autocomplete").each(function() { 

     //...Some code... 

     //Kendo AutoComplete 
     $(this).kendoAutoComplete({ 

      //Data 
      dataSource: new kendo.data.DataSource({ 
       //URL 
       transport: { 
        read: { 
         url : "utils/autocomplete.php", 
         data : {case: acCase, ent: $(prefixTarget + ' input[id*="entreprise_id"]').val()}, 
         cache : false 
        } 
       }, 
       schema: { 
        data: "data" 
       } 
      }), 
      select: function(e){  
       var dataItem = this.dataItem(e.item.index()); 

       switch (acCase) { 
        case 1 : 
         $(prefixTarget + ' input[id*="'+selectorTarget+'"]').val(dataItem.CLI_NUM); 
         break; 
        case 2 : 
         $(prefixTarget + ' input[id*="'+selectorTarget+'"]').val(dataItem.ENT_NUM); 
         break; 
        case 3 : 
         $(prefixTarget + ' input[id*="'+selectorTarget+'"]').val(dataItem.SUC_NUM); 
         break; 
        case 4 : 
         $(prefixTarget + ' input[id*="'+selectorTarget+'"]').val(dataItem.id); 
         break;  
       } 
      }, 
      filter: "contains", 
      highlightFirst: true, 
      suggest: true, 
      dataTextField: "SearchField" 

     //End Kendo AutoComplete  
     }); 
    //End each 
    }); 
//End function 
}; 

이 함수가 호출 될 때 문서가 준비가되었을 때 또는 새로운 요소가 생성 될 때. 모든 것이 잘 작동합니다!

사용자가 필드에 처음으로 뭔가를 입력 할 때 dataSource가 한 번만 호출된다는 것을 알았습니다. 내가 뭘하고 싶은지 "전송"에서 전달 된 일부 데이터가 변경되었을 수 있기 때문에 사용자가 필드에 입력 할 때마다 "데이터 소스"를 호출합니다. 어떤면에서 필자는 "autocomplete.php"라는 파일을 다시 호출하여 새 매개 변수로 새 쿼리를 작성하려고합니다.

인터넷 및 검도 UI의 문서에서 검색했지만 찾지 못했습니다.

누군가 내가 잘못하고있는 것을 설명 할 수 있습니까?

답변

1

기본적으로 필터링은 클라이언트 측에서 수행되기 때문입니다. serverFiltering 옵션을 true로 설정하여 서버 측 필터를 활성화해야합니다.

+0

그게 내가 찾고있는 것입니다. 많은 감사합니다! 나는 Kendo UI의 문서에서이 섹션을 처음 읽을 때이 섹션을 실제로 이해하지 못했습니다. – LancelotKiin

관련 문제