2014-11-21 3 views
0

현재 검도 UI에 몇 가지 문제가 있습니다. 지금 나는 직원을 얻는 데 사용하는 자동 완성 기능을 가지고 있습니다. 내가 겪고있는 문제는 여러 단어 (성 및 이름) (예 : 'John Smith')로 작업 할 수 있도록 자동 완성을 사용하고 싶습니다. 현재 'john'이 입력 된 경우 'john'이라는 단어가 포함 된 다른 이름과 함께 드롭 다운에 'John smith'가 표시되면 자동 완성 기능이 작동합니다. '스미스'라는 성을 입력하고 '존 스미스'를 선택하는 옵션이있는 경우에도 똑같이 작동합니다. 내가하려는 것은 전체 이름을 'John Smith'에 입력하면 사용자가 John smith를 선택할 수있게되는 것입니다.이 의미는 여전히 두 단어에 대한 검색을 수행함을 의미합니다. 누구든지 도와 줄 수 있습니까? 나는 아래에 나의 코드를 넣을 것이다.검도 UI 자동 완성, 이름 검색

감사합니다.

//Autocomplete FeeEarner 
$("#FeeEarnerEmailSend").kendoAutoComplete({ 
    dataSource: new kendo.data.DataSource({ 
     serverFiltering: true, 
     transport: { 
      read: "/" + prefix + "/api/Session/GetEmployees", 
      parameterMap: function() { 
       return { id: $("#FeeEarnerEmailSend").data("kendoAutoComplete").value() }; 
      } 
     } 
    }), 
    dataTextField: 'FullName', 
    filter: "contains", 
    //placeholder: "Search...", 
    minLength: 3, 
    suggest: true, 
    select: function (e) { 
     var employeeAutoComplete = e.sender; 
     // this var is used in the Search button click event 
     selectedEmployeeDataItem = employeeAutoComplete.dataItem(e.item.index()); 
    }, 
    change: function() { 
     if ($.trim($("#FeeEarnerEmailSend").val()) == "") { 
      selectedEmployeeDataItem = null; 
     } 
    }, 
    dataBound: function (e) { 
     selectedEmployeeDataItem = e.sender.dataItem(0); 

    } 
}); 
+0

minLength : 3을 제거하고 검색하십시오. –

답변

1

귀하의 질문에서 이해 한 것은 전체 이름을 입력 할 때까지 이름을 선택하려는 것입니다. 자동 완료 위젯의 "필터"및 "최소 길이"속성에 따라 다릅니다.

검도 자동 완성에서 지원되는 필터는 startswith, endswith 및 contains입니다.

minLength : - 필터링을 시작해야하는 문자 수를 입력 한 후에 필요합니다. 제거하면 문자를 입력 한 직후 필터링이 시작됩니다.

이름이 다른 길이이므로 minLength를 사용하여 이름을 필터링하면 요구 사항을 충족 할 수 있다는 두려움을 갖고 있습니다. 또한 "exact match"와 같은 것을 지원하지 않기 때문에 "filter"속성과 동일합니다 (기본값 = 1).

이렇게 두 가지 속성을 사용하여 목표를 달성하는 것이 얼마나 현명하게 이루어질 수 있는지 생각해보십시오.

희망이 도움이됩니다.