2013-04-01 106 views
5

我一直在使用新的Kendo UI Multiselect小部件進行服務器端過濾,但我很難讓它在輸入最少數量的字符後才進行ajax調用。我已將autoBind和minLength選項分別設置爲false和3。然而,只要我將光標放入文本字​​段,它就會發送一個ajax請求來獲取選擇選項。在發送另一個Ajax請求並刷新選項列表之前,它一直等到輸入3個字符(或更多)。但是,如何在發送第一個ajax請求之前等待3個字符的輸入?這裏是我是如何配置的多選: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' 
        } 
       } 
      } 
     } 
    ); 

我已經看過了overviewAPI docs有關KendoUI網站上的多選部件,它甚至沒有出現,有一種方法可以做什麼,我我在談論(我最初認爲autoBind:false和minLength:3是我的答案,但事實證明不是)。所以,我的「M張貼在,也許我錯過了提前一些感謝的希望

+0

它不會阻止初始錯誤,但是如果發佈的值是空字符串,您不能忽略服務器方法,並且不返回任何內容? – Shion

+0

@Shion - 是的,我想到了這一點,它確實有道理。不過,這似乎是一種解決方法,所以我想確保沒有內置的方法讓它等待ajax調用。如果沒有,我可能會完全按照你的建議。 – tonyg

回答

0

我會去的解決方法

如果我在這裏檢查KendoUI演示:。Server Filtering Demo有螢火,初始呼叫是在頁面加載後立即生成的 我認爲這是設計,並且與當前版本的小部件中的預期一致

由於這是一個新的小部件,請嘗試聯繫Kendo團隊。有點運氣,在下一個版本(或其間的一些測試版)中會有這個選項。

+0

嗨,那麼是否有解決此問題的Kendo的新版本? – tbgox

+0

我不知道。嘗試擺弄他們的演示,並用螢火蟲/網絡檢查員檢查他們。另外做一個最小的演示測試這種行爲。如果您收到任何信息,請通過在此發表評論告訴我們,我會更新我接受的答案。 – 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' 
           } 
          } 
         } 
        });