jqgrid 在 searchGrid 之前 重置下拉框数据
时间: 2024-03-13 14:42:43 浏览: 21
在 jqGrid 中,可以通过以下代码重置下拉框数据:
```javascript
// 获取下拉框
var selectBox = $("#gridId_" + columnName);
// 清空下拉框
selectBox.empty();
// 添加默认选项
selectBox.append("<option value=''>请选择</option>");
// 添加新选项
selectBox.append("<option value='1'>选项1</option>");
selectBox.append("<option value='2'>选项2</option>");
selectBox.append("<option value='3'>选项3</option>");
```
在执行 searchGrid 之前,你可以调用上述代码来重置下拉框数据。例如:
```javascript
// 重置下拉框数据
resetSelectBox();
// 执行 searchGrid
$("#gridId").jqGrid("searchGrid", options);
```
相关问题
jqgrid 动态刷新数据筛选下拉框数据
要实现 jqGrid 中动态刷新数据筛选下拉框数据,可以按照以下步骤进行:
1. 定义下拉框的数据源,可以通过 Ajax 请求获取数据;
2. 创建一个函数来刷新下拉框的数据源,并重新初始化 jqGrid 的搜索栏,例如:
```
function refreshSelectOptions() {
$.ajax({
url: "getOptionsData",
success: function(data) {
// 将新的数据源设置到下拉框中
$("#grid").setColProp("columnName", { searchoptions: { value: data }});
// 重新初始化搜索栏
$("#grid")[0].triggerToolbar();
}
});
}
```
3. 在需要动态刷新的地方调用刷新函数,例如:
```
setInterval(function() {
refreshSelectOptions();
}, 5000);
```
此处是每 5 秒钟刷新一次,你可以根据实际情况调整时间间隔。
4. 在 jqGrid 的初始化中,将下拉框的 searchoptions 设置为初始的数据源,例如:
```
colModel: [
{
name: "columnName",
searchoptions: { value: "1:Option 1;2:Option 2;3:Option 3" }
},
// ...
]
```
这样,就可以动态刷新数据筛选下拉框数据了。
jqgrid 5.0 afterRedraw 刷新数据下拉框数据
在jqGrid 5.0版本中,可以在`afterRedraw`事件中刷新下拉框的数据,具体步骤如下:
1. 首先,在jqGrid的初始化代码中添加下拉框的定义和初始数据,例如:
```javascript
$("#grid").jqGrid({
...
colModel: [
...
{
name: "status",
label: "状态",
editable: true,
edittype: "select",
editoptions: {
value: "1:正常;2:禁用",
dataInit: function (elem) {
// 在这里保存下拉框的初始数据
$(elem).data("initData", $(elem).html());
}
}
},
...
],
...
});
```
2. 然后,在`afterRedraw`事件处理函数中获取下拉框的初始数据,并刷新下拉框的选项,例如:
```javascript
$("#grid").jqGrid({
...
afterRedraw: function () {
var grid = this;
// 获取下拉框的初始数据
var initData = $("#grid select[name='status']").data("initData");
// 更新下拉框的选项
$("#grid select[name='status']").html(initData + "<option value='3'>暂停</option>");
},
...
});
```
在这个例子中,`afterRedraw`事件处理函数首先通过`data`方法获取下拉框的初始数据,并将其保存在下拉框的`data`属性中。然后,在每次`afterRedraw`事件触发时,它会从`data`属性中获取初始数据,并根据需要更新下拉框的选项。在这个例子中,它添加了一个名为“暂停”的选项。