单选jqGrid中的多选行为

时间:2013-09-17 18:10:47

标签: javascript jquery checkbox jqgrid

我有一个带有jqGrid的页面。必须是multiselect:false,因为我必须只允许选择一行,但我还需要选择多行(即我想要标记许多行,但只有一行是活动的)。 所以我创建了一个多选的网格:false和带有formatter: 'checkbox'的复选框行 我还在collumn标题中创建了一个 master复选框(colNames中'collumn的'名称'是<input id="cbSelectAll" type="checkbox">

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

        $('#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 */
        });

现在这是我的问题。 当我尝试取消选中复选框时,此功能可以正常工作,但当我尝试选择时,它只能在第一次工作。在随后的单击中,已更改checked属性,但不会在视觉上更改该框。

1 个答案:

答案 0 :(得分:1)

请尝试使用prop

,而不是attr

请查看此类issue