jqgrid searchoptions.dataInit 设置固定高度
时间: 2023-12-07 18:02:54 浏览: 29
如果想要在 jqGrid 的 searchoptions 中设置下拉框的固定高度,也可以使用 dataInit 属性来实现。dataInit 属性是一个函数,用于在下拉框加载完成后对其进行操作。可以在该函数中设置下拉框的高度和 overflow 属性,示例代码如下:
```
{
name: 'status',
index: 'status',
width: 100,
editable: true,
edittype: 'select',
editoptions: {
value: '1:Active;2:Inactive',
},
searchoptions: {
sopt: ['eq', 'ne'],
dataUrl: 'get_status_options.php',
dataInit: function(elem) {
$(elem).css('height', '100px').css('overflow', 'auto');
}
}
}
```
在上面的代码中,dataInit 函数中的 elem 参数表示当前下拉框的 DOM 元素。通过 $(elem) 获取下拉框元素,并使用 css 方法设置其高度和 overflow 属性,实现下拉框的固定高度。
相关问题
jqgrid searchoptions.dataInit 设置下拉框搜索
要在 jqGrid 的 searchoptions 中设置下拉框搜索,可以在 dataInit 函数中为下拉框绑定 change 事件,并在事件处理函数中调用 triggerToolbar 方法进行搜索。示例代码如下:
```
{
name: 'status',
index: 'status',
width: 100,
editable: true,
edittype: 'select',
editoptions: {
value: '1:Active;2:Inactive',
},
searchoptions: {
sopt: ['eq', 'ne'],
dataUrl: 'get_status_options.php',
dataInit: function(elem) {
$(elem).bind('change', function() {
$('#grid_id')[0].triggerToolbar();
});
}
}
}
```
在上面的代码中,dataInit 函数中为下拉框绑定了 change 事件,并在事件处理函数中调用了 triggerToolbar 方法进行搜索。其中,'#grid_id' 表示 jqGrid 的 ID,使用 [0] 获取其 DOM 元素并调用 triggerToolbar 方法。这样,在下拉框选中一个选项后,就会自动触发搜索。
jqgrid 每次 formatter 执行 searchoptions.dataInit
在 jqGrid 中,每次 formatter 执行时都会执行 searchoptions.dataInit,这是因为 formatter 用于格式化单元格的值,而 searchoptions.dataInit 用于初始化搜索表单元素的值。
如果想要避免每次 formatter 执行时都执行 searchoptions.dataInit,可以将 searchoptions.dataInit 放在 $(document).ready() 中执行,例如:
```
$(document).ready(function() {
// 初始化搜索表单元素的值
$("#grid").jqGrid("setColProp", "columnName", {
searchoptions: {
dataInit: function(elem) {
// 初始化搜索表单元素的值
}
},
formatter: function(cellValue, options, rowObject) {
// 格式化单元格的值
}
});
});
```
这样,searchoptions.dataInit 只会在页面加载时执行一次,而不会在每次 formatter 执行时都执行。需要注意的是,如果搜索表单元素的值需要动态更新,可以在 formatter 中更新搜索表单元素的值,而不需要使用 searchoptions.dataInit。