Javascript 使用复选框在剑道网格中选择和取消选择行
我正在使用剑道网格和网格中的复选框。我有一个选项,可以使用复选框检查所有行并取消选中它们。它工作得很好。现在,当我选中一行时,该行被选中。但是当我取消选中该行时,它不会清除选择。我使用以下代码Javascript 使用复选框在剑道网格中选择和取消选择行,javascript,jquery,checkbox,kendo-ui,kendo-grid,Javascript,Jquery,Checkbox,Kendo Ui,Kendo Grid,我正在使用剑道网格和网格中的复选框。我有一个选项,可以使用复选框检查所有行并取消选中它们。它工作得很好。现在,当我选中一行时,该行被选中。但是当我取消选中该行时,它不会清除选择。我使用以下代码 $("#refegrid").kendoGrid({ dataSource: griddataSource, pageable: true, selectable: "multiple", sortable:
$("#refegrid").kendoGrid({
dataSource: griddataSource,
pageable: true,
selectable: "multiple",
sortable: true,
filterable: false,
reorderable: true,
scrollable: false,
columns: [
{
field:"check_item",title:"<input type='checkbox' id='chkSelectAll' onchange='SelectAll();'/>",template:"<input type='checkbox' id='inpchk' onchange='chkOrUnchk()'/>",width:'50px',sortable:false
}
],
editable: "inline",
});
function chkOrUnchk(){
$('tr.k-state-selected','#refegrid').removeClass('k-state-selected');
}
注释语句用于选择/取消选择所有记录
function SelectAll(){
if ($("#chkSelectAll").attr('checked')) {
$("#refegrid").each(function () {
var $row = $(this);
var checked = $row.find('#inpchk').attr('checked');
$row.find("#inpchk").attr('checked', 'checked');
//$(this).addClass('k-state-selected');
});
}
else {
$("#refegrid").each(function () {
var $row = $(this);
$row.find("#inpchk").removeAttr('checked');
//$(this).removeClass('k-state-selected');
});
}
}
我尝试了
removeClass()
方法来清除选择。但它不起作用。如何解决问题。?非常感谢任何帮助。您确定在选中/取消选中复选框时调用chkOrUnchk
?使用console.log
或alert
进行确认。Yes@Paritosh。该函数已被调用。我已重新检查了它。在我看来,您似乎没有选择/取消选择该行,但Kendo UI正在这样做。因为您有可选择项:“多个”
,如果您单击行中的任意位置,它就会选择它。然后,要取消选择,有两个单击发生的事件:复选框中的事件;行中单击的默认值。然后你禁用它,然后Kendo UI启用它。好的。那么,当用户取消选中某一行的复选框时,我如何取消选中该行?你能包括你是如何选择它的,以便我可以发布完整的答案吗?