2014-01-13 112 views
2

我需要從以下JSON自動填充劍道下拉框:過濾JSON數據源與劍道UI

var products= 
[ 
    { 
     id: 1, 
     title: "Item-1", 
     active: true 
    }, 
    { 
     id: 2, 
     title: "Item-2", 
     active: false 
    } 
]; 

所以我用下面的代碼來做到這一點,它工作得很好:

$("#productList").kendoDropDownList({ 
    dataSource: products, 
    dataTextField: "title", 
    dataValueField: "id" 
}); 

問題是,我只想看到「活動」爲真的項目。

如何通過Kendo實現?

回答

1

Sample Jsfiddle

對於過濾器,只能過濾器上dataSoruce,之所以創建kendo.data.DataSource過濾部分應用濾鏡。

濾波器:{fieled: 「活躍」,操作者: 「當量」,:真}

HTML

<div> 
    <input id="productList" style="width:250px"/> 
</div> 

Javascript

var products= 
[ 
    { 
     id: 1, 
     title: "Item-1", 
     active: true 
    }, 
    { 
     id: 2, 
     title: "Item-2", 
     active: undefined 
    }, 
    { 
     id:3, 
     title:"Item-3", 
     active:false 
    }, 
    { 
     id:3, 
     title:"Item-4", 
     active:undefined 
    } 
]; 
var dataSource=new kendo.data.DataSource({ 
    data:products, 
    filter:{ 
     logic:'or', 
     filters:[ 
      {field:"active",operator:"eq",value:true}, 
      {field:"active",operator:"eq",value:undefined} 
     ]} 
}); 

$("#productList").kendoDropDownList({ 
    dataSource: dataSource, 
    dataTextField: "title", 
    dataValueField: "id" 
}); 
+0

不錯的答案,它的工作原理,謝謝!如果我想將條件更改爲這一條件:<如果active爲true或undefined>,以支持默認值。如何改變這個過濾器? –

+0

@ user1102051,已使用dataSource中的多個篩選器選項進行更新 – Goddard

+0

@ user1102051 http://jsfiddle.net/R778c/4/,最新更新的鏈接 – Goddard