Пропустить флажок при множественном выборе в условном jqgrid

Я видел ответ Олега, когда устанавливал флажок множественного выбора в заголовке jqgrid, он удалял проверьте, когда флажок отключен. (correct me if i'm wrong). Но в моем случае я хочу пропустить данные строки или не хочу устанавливать флажок, если значение строки Status is approved.

введите здесь описание изображения

я попробовал этот

onSelectAll: function (aRowids, status) {
  $.each(aRowids, function (i, val) {
     var gridId = "#List";
     var rowData = jQuery(gridId).jqGrid('getRowData', val);
     var g = $("#List");
     var cbs = $("tr.jqgrow > td > " + rowData.Status == "Approved", g[0]);
     cbs.removeAttr("checked");
   }
}

но ничего не происходит. Он по-прежнему проверяет статус утвержден.


person KiRa    schedule 24.10.2017    source источник
comment
Можете показать сгенерированный html?   -  person pirs    schedule 24.10.2017
comment
@pirs хорошо, подожди, я сделаю скриншот. Выполнено   -  person KiRa    schedule 24.10.2017
comment
нет, лол... код <html> с тегами, пожалуйста.. ;-) Одной строки будет достаточно.   -  person pirs    schedule 24.10.2017
comment
@pirs вы имеете в виду мой код просмотра html? для моего jqgrid?.   -  person KiRa    schedule 24.10.2017
comment
Код, сгенерированный в вашей консоли, чтобы увидеть аргументы тегов ваших строк jqGrid.. Я мог бы узнать селектор.   -  person pirs    schedule 24.10.2017
comment
@pirs извините, я новичок в веб-программировании. Можете ли вы дать мне пример скриншота, чтобы я знал, что я вам покажу.   -  person KiRa    schedule 24.10.2017
comment
На своей странице щелкните правой кнопкой мыши строку jqGrid › Показать инспектор кода   -  person pirs    schedule 24.10.2017
comment
Давайте продолжим обсуждение в чате.   -  person KiRa    schedule 24.10.2017


Ответы (1)


Вот решение http://jsfiddle.net/HJema/632/.

var myData = [{
    id: 1,
    status: "Rejected"
}, {
    id: 2,
    status: "Approved"
}, {
    id: 3,
    status: "Rejected"
}, ];

$("#list").jqGrid({
    datatype: "local",
    colNames: ["Id", "Status"],
    colModel: [{
        name: "id",
        index: "id",
        sorttype: "int"
    }, {
        name: "status",
        index: "status"
    }],
    caption: "Viz Test",
    pager: '#pager',
    search: true,
    multiselect: true,
    data: myData,
    loadComplete: function(data) {
    	for (var i = 0; i < data.rows.length; i++) {
      	if(data.rows[i].status == "Approved"){   
        	$('#jqg_list_' + (i+1)).attr('disabled', true);
        }
      }
    }
});
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/base/jquery-ui.css" rel="stylesheet"/>
<link href="http://trirand.com/blog/jqgrid/themes/ui.jqgrid.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="http://trirand.com/blog/jqgrid/js/jquery.jqGrid.min.js"></script>
<script src="http://trirand.com/blog/jqgrid/js/i18n/grid.locale-en.js"></script>
<table id="list"></table>
<div id="pager"></div>

Возникла проблема с фрагментом кода Stackoverflow, обратитесь к файлу jsfiddle.

Надеюсь, что это поможет вам

person Shiladitya    schedule 24.10.2017
comment
результаты не определены. - person KiRa; 24.10.2017
comment
@KiRa Посмотрите точно на код, потому что он правильный, вы тоже можете его использовать - person pirs; 24.10.2017
comment
Спасибо. Я просто немного изменил код, потому что идентификатор не основан на длине jqgrid, а .status не определено, что я использую этот for (var i = 0; i < e.rows.length; i++) { if (e.rows[i].cell[13] == "Approved") { $('#jqg_DTRCorrectedApprovalList_' + e.rows[i].cell[1]).attr('disabled', true); } } - person KiRa; 24.10.2017
comment
Последний вопрос. Можно убрать подсветку, если статус одобрен?. - person KiRa; 24.10.2017
comment
@KiRa Да, вы можете удалить выделение - person Shiladitya; 24.10.2017