jqgrid один флажок выбора - PullRequest
5 голосов
/ 20 июля 2011

В Jqgrid я хочу запретить пользователю устанавливать только один флажок в любое время. Когда пользователь выбирает несколько флажков только последний выбранный, чтобы быть в состоянии «выбрано», остальные должны быть автоматически сняты.

Я установил для атрибута multi select значение true. Но я не могу отменить выбор ранее выбранного элемента. Можно ли это сделать, если да, то как?

Спасибо

Ответы [ 4 ]

9 голосов
/ 21 июля 2011

Вы можете использовать событие beforeSelectRow и сбросить выбор:

beforeSelectRow: function(rowid, e)
{
    jQuery("#list47").jqGrid('resetSelection');
    return(true);
}

У меня есть скрипка , чтобы вы могли проверить, как она работает.

3 голосов
/ 03 апреля 2014

Вы должны сделать еще кое-что:

1. Установите multiboxonly на true и multiselect на true

2. Определить события onSelectRow и beforeSelectRow:

3. Определить глобальную переменную: var lastSel;


Реализация OnSelectRow и beforeSelectRow:

onSelectRow: function (rowId, status, e) {
        if (rowId == lastSel) {
            $(this).jqGrid("resetSelection");
            lastSel = undefined;
            status = false;
        } else {
            lastSel = rowId;
        }
    },
beforeSelectRow: function (rowId, e) {
            $(this).jqGrid("resetSelection");
            return true;
        }
2 голосов
/ 20 июля 2011

Наличие флажка в каждом столбце означает, что вы можете нажимать более одного за раз.То, о чем вы просите, это в основном поведение multiselect: false, но со столбцом флажка - вы действительно хотите, чтобы флажки в этом случае действительно были нужны?

1 голос
/ 01 декабря 2012

Я знаю, что этот вопрос старый, но я нашел лучшее решение в этом Stack Post .

Все, что вам нужно сделать, это установить следующие два свойства jqGrid:

multiselect:true // multi-select checkboxes appear

multiboxonly:true // checkboxes act like radio buttons where only one is selected at a time

Я обновил скрипку, созданную LeftyX, чтобы просто использовать настройку multiboxonly для этого JsFiddle

Это было то, что мне было нужно. Это может помочь кому-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...