2016-11-24 8 views
0

У меня есть кендо ListView, в котором каждый элемент представляет собой комбинацию флажком и некоторого текстового поля, как показано на рисунке ниже:Получить предметы и объекты, связанные с каждым элементом списка в кэндо ListView

enter image description here

On нажав кнопку «Сохранить», мне нужно извлечь проверенные элементы из списка списка кендо. Используя метод items() или dataItems(), я получаю список элементов, которые представляют шаблон, но не то, что я действительно требую, т.е. элементы, которые были проверены.

Как я могу определить, отмечен ли этот конкретный элемент списка или нет?

код выглядит следующим образом:

<div id='lstItems'></div> 

    var _dataSource = new kendo.data.DataSource({ 
        data: [{ Title: "Item 1", ID: 121 }, { Title: "Item 2" , ID: 122}, { Title: "Item 3" , ID: 123}], 
       }); 

    $("#lstItems").kendoListView({ 
        dataSource: _dataSource , 
        template: "<div><label><input type='checkbox'/>#:Title#</label></div>" 
       }); 

я еще одна проблема, мне нужно, чтобы связать весь объект к элементу списка, так что на выборку проверенные элементы, я могу получить полный объект, который состоит из 2 свойства: название, идентификатор.

Я совершенно новый для kendo.js и HTML, поэтому не знаю много методов.

+0

Возможный дубликат [Получить объект привязан к элементу в кэндо ListView] (http://stackoverflow.com/questions/40822732/get-the-object-bound-to-item-in-kendo-listview) – dimodi

ответ

0

Если вы можете добавить логическое значение для ваших ViewModel, таких как:

var _dataSource = new kendo.data.DataSource({ 
        data: [{ Title: "Item 1", ID: 121, checked: false }, { Title: "Item 2" , ID: 122, checked: true}, { Title: "Item 3" , ID: 123, checked: true}], 
       }); 

И вы можете обновить свой шаблон таким образом, что, если проверяется, верно в вашем DataSource и вы можете установить флажок для проверяемого состояния и не проверенное состояние, если установлено, установлено значение false.

Когда вы можете нажать на сохранение, выполните .filter() на вашем источнике данных, чтобы получить элементы, которые были проверены.

dataSource.filter({ field: "checked", value: "true" }); 
var view = dataSource.view(); 
console.log(view);