2013-03-22 33 views
1

我使用的劍道UI自動完成與ASMX服務,它返回一個字符串數組是這樣的:劍道UI自動完成打開兩次

<ArrayOfString> 
    <string>One string</string> 
    ... 
</ArrayOfString> 

一切工作正常,除了項目列表打開兩次。一次點擊關閉一個列表,「後面的第二個」仍然打開。 當列表打開時,我們可以看到第二個列表在第一個列表後面打開。

有什麼想法?

JS代碼:

<input id="autoCompleteTest" /> 
<script> 
    var dataSource = new kendo.data.DataSource({ 
     serverFiltering: true, 
     transport: { 
      read: { 
       data: { 
        startswith: function(){ 
         return $("#autoCompleteTest").data("kendoAutoComplete").value(); 
        } 
       }, 
       url: "WebService.asmx/GetStrings", 
       type: "POST", 
      } 
     }, 
     schema: { 
      // specify the the schema is XML 
      type: "xml", 
      // the XML element which represents a single data record 
      data: "/ArrayOfString/string", 
      // define the model - the object which will represent a single data record 
      model: { 
       // configure the fields of the object 
       fields: { 
       // the "title" field is mapped to the text of the "title" XML element 
       value: "text()" 
      } 
     } 
    } 
}); 
$("#autoCompleteTest").kendoAutoComplete({ 
    minLength: 3, 
    dataValueField : "value", 
    dataTextField : "value", 
dataSource: dataSource 
}); 
</script> 

C#代碼:

[WebMethod] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public String[] GetStrings(string startswith) 
{ 
    using (var dataContext = new DataClassesDataContext()) 
    { 
     var query = from x in dataContext.product where x.shortName.StartsWith(startswith) select x.shortName; 
     return query.ToArray(); 
    } 
} 

回答

0

我碰到類似的問題,並張貼here

請確認您自動完成控制不在位於強制Kendo控件呈現a的另一個控件中 第二次。