2013-07-09 5 views
1

Так что я искал многие ответы и не могу найти что-то конкретное на этом ... так вот идет.Как получить значение флажка в сетке пользовательского интерфейса Kendo?

У меня есть стандартная сетка интерфейса Kendo - и я настроил столбец как следующим образом:

{ title: "Sharing Enabled?", 
    field: "permissions_users_apps_user_sharing", 
    attributes: { 
     style: "text-align: center; font-size: 14px;" 
    }, 
    filterable: true, 
    headerAttributes: { 
     style: "font-weight: bold; font-size: 14px; width: 40px;" 
    }, 
    template: function(dataItem) { 
     if (dataItem.permissions_users_apps_user_sharing == 0) { 
      return "<input type='checkbox' name='permissions_users_apps_status' id='permissions_users_apps_status' value='1' />" 
     } else if (dataItem.permissions_users_apps_user_sharing == 1) { 
      return "<input type='checkbox' name='permissions_users_apps_status' id='permissions_users_apps_status' value='1' checked />" 
     } 
    } 
}, 

то, что я пытаюсь сделать, это получить значение этого флажка (чтобы увидеть, если она изменилась), когда я нажимаю кнопку КОМАНДЫ я определил. ROW выбирается .. поэтому я могу получить идентификатор строки. Но, похоже, я не могу собрать значение флажка.

У кого-нибудь есть предложения?

Заранее спасибо ..

ответ

2

Вы можете получить экземпляр флажка в случае DataBound, когда флажок состояние изменений. Проверьте, подходит ли код ниже.

.... 
columns: [ 
{ 
    { field: "select", template: '<input id="${BindedColumn}" onclick="GrabValue(this)" type="checkbox"/>', width: "35px", title: "Select" }, 
} 
.... 
selectable: "multiple, row", 
dataBound: function() { 
      var grid = this; 
      //handle checkbox change 
      grid.table.find("tr").find("td:nth-child(1) input") 
      .change(function (e) { 
       var checkbox = $(this); 
       //Write code to get checkbox properties for all checkboxes in grid 
       var selected = grid.table.find("tr").find("td:nth-child(1) input:checked").closest("tr"); 

       //Write code to get selected checkbox properties 
       ...... 
       //Code below to clear grid selection 
       grid.clearSelection(); 
       //Code below to select a grid row based on checkbox selection 
       if (selected.length) { 
        grid.select(selected); 
       } 
      }) 
     } 
     ..... 
     function GrabValue(e) 
     { 
     //Alert the checkbox value 
     alert(e.value); 
     //get the grid instance 
     var grid = $(e).closest(".k-grid").data("kendoGrid"); 
     //get the selected row data 
     var dataItem = grid.dataSource.view()[grid.select().closest("tr").index()]; 
     } 
0

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

  $("#MultiPayment").click(function() { 
       var idsToSend = []; 
       var grid = $("#Invoice-grid").data("kendoGrid") 
       var ds = grid.dataSource.view(); 
       for (var i = 0; i < ds.length; i++) { 
        var row = grid.table.find("tr[data-uid='" + ds[i].uid + "']"); 
        var checkbox = $(row).find(".checkboxGroups"); 
        if (checkbox.is(":checked")) { 
         idsToSend.push(ds[i].Id); 
        } 
       } 
       alert(idsToSend); 
       $.post("/whatever", { ids: idsToSend }); 
      }); 

подробнее Goto

Смежные вопросы