jqgrid 点击列时不选中行,但点击checkbox 时才选中行
时间: 2024-10-24 14:07:51 浏览: 16
jqGrid翻页时数据选中丢失问题的解决办法
JqGrid是一个强大的jQuery插件,用于创建动态网格和数据表格。当你不想让用户通过点击表头列来选择整个行,但希望他们可以通过单击复选框来选择行时,可以设置一些特定的配置。
首先,你需要确保在初始化jqGrid时,禁用了默认的行选择功能。可以在`colModel`配置中添加`selectable`属性并将其值设为`false`:
```javascript
colModel: [
{ name: 'column1', ... },
{ name: 'column2', ... },
{
name: 'checkbox',
width: 20,
align: 'center',
formatter: 'checkbox',
editable: false,
selectOnCheck: true, // 这里允许单击复选框时选择行
searchoptions: {
sopt: [],
hideSelectAll: true, // 防止全选
}
}
]
```
然后,你可以自定义点击列头的行为,例如添加一个事件处理器,阻止默认的选择行为,并提供自定义逻辑:
```javascript
$("#your_grid_id").on('click', function(e) {
if ($(e.target).is(':checkbox')) {
// 用户点击的是复选框,处理选中或取消选中操作
} else {
e.stopPropagation(); // 阻止列头的点击选择整个行
}
});
```
这样,用户只能通过点击复选框来选择或取消选择行,而单击列标题则不会触发行的选择。
阅读全文