jqGrid с множественным выбором, как проверить все флажки и верхний при загрузке? - PullRequest
1 голос
/ 08 января 2010

Как я могу дать команду jqGrid для прямого выбора всех флажков при его создании? Можно ли это как-то сделать в качестве параметра в colModel?

Ответы [ 4 ]

1 голос
/ 30 сентября 2011

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

$('.cbox').trigger('click').attr('checked', true);

Исправляет проблему с флажками, и вам нужно только нажать на нее один раз, чтобы снять отметку.

Убедитесь, что вы делаете это после загрузки jqgrid.

0 голосов
/ 08 января 2010

Вот функция, которая будет выбирать все строки. Из этого следует, что многие из тех же предположений, высказанных Даниилом:

gridSelectAll : function(divID){
    // Select header checkbox (no jqGrid API for this, unfortunately)
    var parentView = divID.replace("#", "#gview_");
    jQuery(parentView).find("#cb_jqg").click();

    // Loop again to select all rows
    var data = jQuery(divID).getDataIDs();
    for(var i=0; i < data.length;i++){
        jQuery(divID).setSelection(data[i]); // All selected by default
    }
}

Вы можете вызвать это из события GridComplete для автоматической проверки всех полей во время загрузки.

0 голосов
/ 11 января 2010

Я попробовал

$('.cbox').click();

в gridComplete, но это не сработало. Тогда я попробовал это:

$('.cbox').attr('checked', true);

и это сработало, все флажки были установлены, но потом мне нужно было дважды щелкнуть, чтобы снять галочку.

Что сработало для меня:

$('.cbox').trigger('click');
0 голосов
/ 08 января 2010

Возможно, вы захотите взглянуть на setSelection. От jqGrid Документация

setSelection(rowid, onsetselection)
Toggles a selection of the row with id = rowid; if onsetselection is true (the default) then the event onSetRow is launched, otherwise it is not 

Еще один способ сделать это - пометить все флажки в сетке:

$('.cbox').click();

Но вы хотите вызвать это после завершения сетки, поэтому вызывайте его внутри события gridComplete:

    gridComplete: function() {
      $('.cbox').click();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...