2013-04-01 18 views
5

Używam nowego widżetu Kise UI Multiselect z filtrem po stronie serwera, ale mam problem z uzyskaniem go tylko do wywołania ajax po wprowadzeniu minimalnej liczby znaków. Ustawiłem opcje autoBind i minLength na false i 3 odpowiednio. Jednak wysyła zapytanie ajax, aby uzyskać wybrane opcje, jak tylko ustawię kursor w polu tekstowym. Poczeka, aż 3 znaki (lub więcej) zostaną wprowadzone przed wysłaniem kolejnego żądania ajax i odświeżeniem listy opcji. Ale jak sprawić, aby poczekał, aż 3 znaki zostaną wprowadzone przed wysłaniem pierwszego żądania ajax? Oto jak mam skonfigurowany na wielokrotny:Kendo UI Multiselect

$('#delegates').kendoMultiSelect(
     { 
      autoBind: false, 
      minLength: 3, 
      placeholder: 'Select delegates...', 
      dataTextField: 'name', 
      dataValueField: 'personid', 
      filter: 'contains', 
      delay: 200, 
      dataSource: { 
       serverFiltering: true, 
       transport: { 
        read: { 
         url: '/my/remote/url', 
         dataType: 'json' 
        } 
       } 
      } 
     } 
    ); 

Szukałem na overview i API docs dla widżetów wielokrotny na stronie KendoUI i to nawet nie wydaje się, że istnieje sposób, aby robić to, co ja o czym mówię (początkowo myślałem, że autoBind: false i minLength: 3 będą moją odpowiedzią, ale okazuje się, że tak nie jest). Więc ja "m wpis w nadziei, że może Tęskniłam coś z góry dzięki

+0

To nie zapobiega inicjałowi błędu, ale czy nie możesz po prostu zignorować na serwerze metody, jeśli zaksięgowana wartość jest pustym łańcuchem i nic nie zwraca? – Shion

+0

@Shion - Tak, myślałem o tym i ma to sens. Wygląda to na obejście tego problemu, więc chciałem się upewnić, że nie ma wbudowanego sposobu oczekiwania na wywołanie ajax. Jeśli nie, prawdopodobnie zrobię dokładnie tak, jak zasugerowałeś. – tonyg

Odpowiedz

0

pójdę z obejścia

Gdybym sprawdzić demo KendoUI tutaj:... Server Filtering Demo z FireBug, wstępna rozmowa jest tworzony zaraz po wczytaniu strony Myślę, że jest to zgodne z projektem i jest zgodne z oczekiwaniami w aktualnej wersji widgetu:

Ponieważ jest to nowy widget, spróbuj skontaktować się z zespołem Kendo. trochę szczęścia, w następnej wersji (lub jakiejś wersji beta pomiędzy) pojawi się opcja.

+0

Witam, więc czy istnieje nowa wersja Kendo, która rozwiązuje ten problem? – tbgox

+0

Nie wiem. Spróbuj manipulować swoimi demami i sprawdź je inspektorem firebug/web. Dodatkowo wykonaj minimalną wersję demonstracyjną, która testuje to zachowanie. Jeśli uzyskasz jakieś informacje, daj nam znać, komentując tutaj, a zaktualizuję zaakceptowaną odpowiedź. – Shion

1
$("#products").kendoMultiSelect({ 
         placeholder: "Select products...", 
         dataTextField: "name", 
         dataValueField: "id", 
         autoBind: false, 
         dataSource: { 
          transport:{ 
           read:{ 
            url:'products/api/get', 
            serverPaging:true, 
            pageSize:20, 
            contentType:'application/json; charset=utf-8', 
            type:'GET', 
            dataType:'json' 
           } 
          } 
         } 
        });