2013-10-08 28 views
6

我想要拉一個kendo下拉列表的所有數據。我使用此代碼創建下拉列表:如何檢索kendo ui下拉列表中的所有數據?

$("#dropDownList").kendoDropDownList({ 

    dataTextField: "field", 
    autoBind: true, 
    dataSource: { 
     transport: { 
      type: "POST", 
      read: { 
       url: "http://abc.com", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json" 
      } 
     } 
    }, 
    select: onSelect 
}); 

};

然後我試圖使用

var data = $("#dropDownList").data("kendoDropDownList").val(); 
var values = []; 
for (var item in data) { 
    values.push(this.item); 

} 

拉數據,但沒有奏效。任何想法我該怎麼辦?提前致謝。

回答

4

你可以嘗試:

var data = $("#dropDownList").data("kendoDropDownList"); 
+0

它將所有下拉爲一個對象,我使用dataSource屬性來拉取列表數據,所以感謝您的幫助。 – user1422167

3

試試這個。

var values = []; 
    var data = $("#dropDownList option").each(function(){ 
    values.push($(this).val()); 
    }); 
+0

我試過了,但我不知道爲什麼「選項」在這裏給出了一個例外。但我解決了我的問題,無論如何,謝謝。 – user1422167

+0

無法使用KendoComboBox,例如:var data = $(「#combo option」)?? –

+0

@HernaldoGonzalez你可以確保只有一個id組合框元素退出該頁面嗎?如果有多個具有相同ID的元素,則可能無法獲得預期的輸出。 – sudhAnsu63

7

試試這個,它會檢索來自Kendo下拉菜單的所有值。

var values = []; 
    var grid = $("#SampleDropdown").data("kendoDropDownList"); 

    var ds = grid.dataSource; 
    var len = ds._data.length; 
    if (len > 0) { 
     var i; 

     for (i = 0; i < len; i++) { 
      var val = ds._data[i].Value; 
      values.push(val); 
     } 
     } 
+0

謝謝,它一開始並沒有工作,但後來我記得我們使用'Name'和Key'來明確綁定dataSource, – cfm

相關問題