Javascript 单选jqGrid中的多选行为

Javascript 单选jqGrid中的多选行为,javascript,jquery,checkbox,jqgrid,Javascript,Jquery,Checkbox,Jqgrid,我有一个带有jqGrid的页面。Is必须为multiselect:false,因为我必须只允许选择一行,但我还需要选择多行(即,我希望标记多行,但只有一行处于活动状态)。 因此,我创建了一个带有multiselect:false的网格和一个带有formatter:'checkbox' 我还在collumn头中创建了一个主复选框(collumn在colNames中的“name”是) 要在单击标题时一次更改所有行,我创建了函数: $('#cbSelectAll').click(fun

我有一个带有jqGrid的页面。Is必须为
multiselect:false
,因为我必须只允许选择一行,但我还需要选择多行(即,我希望标记多行,但只有一行处于活动状态)。 因此,我创建了一个带有multiselect:false的网格和一个带有
formatter:'checkbox'
我还在collumn头中创建了一个主复选框(collumn在colNames中的“name”是

要在单击标题时一次更改所有行,我创建了函数:

        $('#cbSelectAll').click(function (e) {
            var valor = $(this).is(':checked');
                $.each($('#grid input[type="checkbox"]'), function (idx, elm) {
                    var id = $(elm).closest('tr').attr('id');
                    var cb = $('#' + id + ' td').children().first();
                    $(cb).attr('checked', valor);
                    selectedRows[id] = valor;
                });
            /* other non relevant code */
        });
这就是我的问题。
当我尝试取消选中复选框时,此函数非常有效,但当我尝试选择复选框时,它仅在第一次起作用。在随后的单击中,选中的属性会更改,但框不会在视觉上更改。

请尝试使用

请看一下这个类似的