Флажки множественного выбора jqGrid не снимаются при нажатии на строки

#jquery #jqgrid

#jquery #jqgrid

Вопрос:

у меня есть следующий jqGrid

    $("#proposalsTable").jqGrid({
    url: url,
    datatype: 'json',
    mtype: 'GET',
    altRows: false,
    colNames: ['Model', 'Model Year', 'Cabinet', 'Shell', 'Customer', 'Designed By', 'Date'],
    colModel: [

            { name: 'Model', index: 'Model', align: 'left' },
            { name: 'ModelYear', index: 'ModelYear', align: 'left' },
            { name: 'CabinetColor', index: 'CabinetColor', align: 'left' },
            { name: 'ShellColor', index: 'ShellColor', align: 'left' },
            { name: 'CustomerName', index: 'CustomerName', align: 'left' },
            { name: 'DesignedBy', index: 'DesignedBy', align: 'left' },
            { name: 'ProposalDate', index: 'ProposalDate', align: 'left' },

            ],
    pager: jQuery("#proposalsPager"),
    rowNum: 50,
    rowList: [50, 75, 100],
    sortname: 'ProposalDate',
    sortorder: "desc",
    viewrecords: true,
    height: '700px',
    multiselect: true,
    autowidth: true,
    shrinkToFit: true

});
  

Когда я просматриваю и устанавливаю флажки, флажок установлен, и цвет строки показывает, что он выбран… Но если я вернусь и просто нажму на строку (не на флажок) Цвет строки показывает, что она не выбрана, но флажок остается установленным.
Если я запущу код, чтобы проверить, действительно ли на этом этапе проверяются. Это не так. Но когда я возвращаюсь назад и устанавливаю флажки, строки отменяются, и хотя флажок показывает флажок .. Но сетка считает, что строки не выбраны, если я запускаю код, чтобы посмотреть на это. Очень, очень, очень странно.
Как я могу либо заставить щелчки по строкам ничего не делать, либо убедиться, что они действительно снимают флажки.
Я надеюсь, что это имеет смысл.
Спасибо!

Комментарии:

1. Я обнаружил проблему и просто хотел поделиться ею здесь для всех остальных. Я заставил его использовать jquery 1.4.4 <script src=» ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js «type=»text / javascript»></script> Вместо получения последней версии Это устранило проблему, с которой я столкнулся выше..

Ответ №1:

Мой подход заключался бы в реализации функции в ваших настройках для переопределения onSelectRow события. Для этого требуется идентификатор строки и аргумент состояния.

Оттуда вы можете манипулировать строкой на основе rowId.

Смотрите http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events подробнее о доступных событиях и о том, как их переопределить. ПРИМЕЧАНИЕ: если вы переопределяете и возвращаете false, обработчик событий по умолчанию не запускается.

Ответ №2:

Я обнаружил проблему и просто хотел поделиться ею здесь для всех остальных.

Я заставил его использовать jquery 1.4.4

    <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js" type="text/javascript"></script>
  

Вместо получения последней версии

Это устранило проблему, с которой я столкнулся выше.