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
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
@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