Вопрос по jquery – Есть ли способ включить MultiSelect Combobox в jqGrid?

3

У меня есть jqGrid, и я хочу, чтобы один столбец был комбинированным списком с несколькими выборками. Я получил плагин от,

http: //www.abeautifulsite.net/blog/2008/04/jquery-multiselect

Как интегрировать их и как получить выбранные значения?

Я лично предпочитаю еще один плагин с множественным выбором, но в любом случае вы должны очистить то, что вы имеете в виду под «включением» многоблочного комбинированного списка в jqGrid. Вы имеете в виду поиск или редактирование (какой режим редактирования) или что-то еще? Oleg
ok все в порядке, я должен иметь возможность редактировать комбинированный список множественного выбора. sainath
Вы должны иметь базовые знания о продукте, если хотите его использовать. Вы должны смотреть на официальная демонстрационная страница jqGrid и посмотрите документацию (например,Во вы увидите режимы редактирования описания). Если вы не знаете основ, у вас будут проблемы с пониманием ответа на ваш вопрос. Oleg
Вы все еще не отвечаете, какой режим редактирования вы использовали (встроенное редактирование, редактирование форм, редактирование ячеек). В общем, вы должны просто инициализировать плагин внутриdataInit но это могут быть разные мелочи, которые нужно сделать, например, чтобы иметь правильную ширину и высоту элемента управления. Такие «маленькие» вещи могут быть разными в любом режиме редактирования. Oleg
Я не знаю, что именно означает встроенное редактирование или редактирование формы. Это то, что происходит. Если я выбираю строку одним щелчком мыши, поля становятся редактируемыми. Требование, теперь один из редактируемых столбцов, я просто вижу в выпадающем списке. Я хочу, чтобы в качестве комбинированного поля со множественным выбором, т. Е. Внутри выпадающего меню должны были быть установлены флажки Простой, выпадающий список с проверяемыми элементами sainath

Ваш Ответ

1   ответ
9

jQuery UI MultiSelect Widget например, для реализации множественного выбора с флажками.

Демо показывает, как вы можете реализовать это. У вас будут результаты, подобные следующим

Вы можете настроить плагин множественного выбора, используя различные опции. В демоверсии я использовал следующий код

edittype: 'select', editoptions: {
    value: 'FE:FedEx;TN:TNT;IN:Intim',
    dataInit: function (elem) {
        setTimeout(function () {
            $(elem).multiselect({
                minWidth: 100, //'auto',
                height: "auto",
                selectedList: 2,
                checkAllText: "all",
                uncheckAllText: "no",
                noneSelectedText: "Any",
                open: function () {
                    var $menu = $(".ui-multiselect-menu:visible");
                    $menu.width("auto");
                    return;
                }
            });
        }, 50);
    },
    multiple: true,
    defaultValue: 'IN'
}

Я должен упомянуть, что вы можете редактировать несколько выбираемых списков без использования каких-либо плагинов. Единственным недостатком является то, что пользовательский интерфейс будет не очень приятным. Следующая демоверсия показывает, как все работает без плагина с множественным выбором.

ОБНОВЛЕНО: Если вам нужно установить все строки в режиме редактирования сразу после загрузки, вы можете сделать это, как в следующей демонстрации.

Спасибо за твой ответ, Олег, но это мне не подходит. Значение выпадающего меню в одном ряду меняется, если я обращаюсь к выпадающему в другом ряду. Я думаю, что это деактивируется. Я хочу, чтобы значения присутствовали до тех пор, пока все строки не будут отредактированы, и в конце я хочу сохранить все значения сразу. Жду вашего ответа. Еще раз спасиб sainath
@ sainath: я не совсем понимаю, что вы хотите. Вы хотите реализовать зависимые раскрывающиеся списки или хотите включить раскрывающийся список в каждой строке? Я не вижу большого смысла от последнего, потому что раскрывающиеся элементы управления показываютто же само информация в виде текста "FedEx" или "FedEx, TNT". Редактирование нескольких строк в одной и сохранение всех на сервере - это совсем другая проблема. Я не рекомендую вам делать это, но описание причин длинное. Вы можете столкнуться с серьезной проблемой параллелизма при реализации поведения в многопользовательской среде. Oleg
Нет, сценарий не включает многопользовательскую среду. Это один пользователь в одно мгновение. Там не будет абсолютно никаких проблем с параллелизмом. Я хочу, чтобы раскрывающиеся списки были включены в каждой строке, а выбранные значения присутствовали, пока я не сохраню их в БД. sainath
@ sainath: В случае, если вы можете просто позвонитьeditRow в цикле для всех строк сетки внутриloadComplete. Начнется встроенное редактирование. Я должен упомянуть, что я знаюе @ нет практический случай, когда у вас есть база данных, и вы можете быть уверены, что никто другой не сможет редактировать данные базы данных. Если у вас есть база данных, то больше чем один пользователь может изменить данные. Если вы откроете веб-страницу, вы можете уйти и вернуться, чтобы закончить изменение старые данные и переписать более свежие данные. Если вы сразу сохраните строку после изменения, она будет работать очень быстро, и проблема будет не такой сложно Oleg
@ sainath:Во является примером того, что вы можете сделать. Oleg

Похожие вопросы