Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用复选框在剑道网格中选择和取消选择行_Javascript_Jquery_Checkbox_Kendo Ui_Kendo Grid - Fatal编程技术网

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启用它。好的。那么,当用户取消选中某一行的复选框时,我如何取消选中该行?你能包括你是如何选择它的,以便我可以发布完整的答案吗?