jqGrid如何向列添加多个复选框

时间:2013-11-27 05:04:10

标签: javascript jquery checkbox jqgrid

我想在编辑/添加模式下向列中添加多个复选框。现在,此列有一个启用了多个选项的选择框。我想用复选框列表或单选按钮列表替换它

我的想法是:用户应该能够通过选中特定单元格中列出的复选框(添加或编辑模式:内联)来选择所需的相关选项。保存行后,应仅显示所选的选项(不带复选框)。

以下是特定列的选择框的代码段:

{
     name: 'RoomTypes', index: 'RoomTypes', width: 300, editable: true, edittype: 'select',
                   editoptions: {
                         value: roomTypesFormatterEdit,
                         custom_element: function (value, options) {
                             return $.jgrid.createEl.call(this, "select",
                                 $.extend(true, {}, options, { custom_element: null, custom_value: null }),
                                 value);
                         },
                         custom_value: function ($elem, operation, value) {
                             if (operation === "get") {
                                 return $elem.val();
                             }
                         },
                         multiple: true
                     },
                     align: 'left', formatter: roomTypesFormatter
                 },

其中“roomTypesFormatterEdit”返回将在选择框中显示的酒店房间名称列表。

此外,我想重新排列编辑(编辑模式)行的高度以适应复选框的高度或显示选择框中的所有项目

请帮助 谢谢大家

1 个答案:

答案 0 :(得分:2)

我认为您无需编写自定义编辑控件(custom_elementcustom_value)或自定义格式化程序(formatterunformat)。取而代之的是,您只需将multiple: true属性添加到editoptions即可拥有基本的多选功能。要提高可见性,您可以使用某些现有控件,例如jQuery UI MultiSelect WidgetSelect2The answerthis one提供了使用jQuery UI MultiSelect Widget的演示。 One more answerthis one提供使用Select2的演示。演示不使用Select2的多选功能,但它只是控件的一个选项(参见the documentation)。