2016-04-12 19 views
1

Kendo Multiselect ile çalışıyorum ve veri kaynağımın birçok alanında arama yapmanın bir yolunu bulmak istiyorum. İşte gerçek kodum. ancak yalnızca bir alan için çalışır: Ben de angularjs kullanıyorum Görüldüğü üzereKendo MultiSelect: Birden çok alan üzerinde arama yapın

` 
$scope.dataList = new kendo.data.DataSource({ 
    data:[{id: "1",name: "Doe, John",email: "[email protected]"}], 
}); 
$scope.customOption = { 
       dataSource: $scope.dataList, 
       dataTextField: "name", 
       dataValueField: "id", 
       filter: "contains", 
       itemTemplate: '<span>#=id#</span>#=name#<i> #=email#</i>', 
} 
` 

, ben isim ve e-postalar için aramayı deneyin.

cevap

4
$("#id").kendoMultiSelect({ 
     placeholder: "Select products...", 
     dataTextField: "name", 
     dataValueField: "id", 
     autoBind: false, 
     filtering: function (e) { 
      if (e.filter) { 
       var value = e.filter.value 
       var newFilter = { 
        filters: [ 
         { field: "id", operator: "contains", value: value }, 
         { field: "name", operator: "contains", value: value }, 
         { field: "email", operator: "contains", value: value } 
        ], 
        logic: "or" 
       } 
       e.sender.dataSource.filter(newFilter) 
       e.preventDefault() 
      } 
      e.preventDefault() 
     }, 
     dataSource: { 
      data:[ 
      {id: "1",name: "Doe, John",email: "[email protected]"}, 
      {id: "2",name: "sss, John",email: "[email protected]"}, 
      {id: "3",name: "fff, John",email: "[email protected]"}, 
      {id: "4",name: "ccc, John",email: "[email protected]"} 
      ], 
     }, 
     value: [ 
      {id: "1",name: "Doe, John"}, 
     ] 
    }); 

API Kendo Dokümantasyon DataSource ve MultiSelect bakınız. Umarım yardımcı olur.

İlgili konular