2013-04-01 18 views
5

Ho utilizzato il nuovo widget Multiselect UI di Kendo con il filtro sul lato server, ma ho difficoltà a far sì che effettui la chiamata ajax solo dopo aver immesso un numero minimo di caratteri. Ho impostato le opzioni AutoBind e MinLength su false e 3 rispettivamente. Tuttavia invia una richiesta Ajax per ottenere le opzioni di selezione non appena metto il cursore nel campo di testo. Attende fino a 3 caratteri (o più) inseriti prima di inviare un'altra richiesta Ajax e aggiornare l'elenco delle opzioni. Ma come faccio ad aspettare che siano stati inseriti 3 caratteri prima che venga inviata la prima richiesta di ajax? Ecco come ho configurato il il MultiSelect: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' 
        } 
       } 
      } 
     } 
    ); 

Ho guardato il overview e API docs per i widget MultiSelect sul sito KendoUI e non sembra neppure che c'è un modo per fare quello che sto parlando (inizialmente pensavo che l'autoBind: false e minLength: 3 sarebbe stata la mia risposta, ma risulta che non lo è). Così ho "m distacco nella speranza che forse ho perso qualcosa Grazie in anticipo

+0

Non impedisce il bug iniziale, ma non puoi semplicemente ignorare il tuo metodo server se il valore inserito è una stringa vuota e non restituire nulla? – Shion

+0

@Shion - sì, ci ho pensato e ha senso. Tuttavia, sembra una soluzione alternativa, quindi volevo assicurarmi che non esistesse un modo integrato per farlo attendere la chiamata ajax. Se no, probabilmente farò esattamente come hai suggerito. – tonyg

risposta

0

vorrei andare con la soluzione

Se ispezionare la demo KendoUI qui:... Server Filtering Demo con Firebug, una chiamata iniziale

Poiché si tratta di un nuovo widget, prova a contattare il Kendo-Team. un po 'di fortuna, nella prossima versione (o qualche beta in mezzo) ci sarà un'opzione per questo:

+0

Ciao, quindi c'è una nuova versione di Kendo che risolve questo problema? – tbgox

+0

Non lo so. Prova a giocherellare con i loro demo e ispezionarli con firebug/web inspector. Inoltre, crea una demo minima che verifica questo comportamento. Se ottenete qualche informazione, fatecelo sapere commentando qui e aggiornerò la mia risposta accettata. – 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' 
           } 
          } 
         } 
        }); 
Problemi correlati