jqgrid dataInit 设置数据下拉框筛选值
时间: 2024-03-02 08:54:00 浏览: 216
js 设置 下拉框的数据
在 jqGrid 中,可以通过 dataInit 属性来设置数据下拉框的筛选值。dataInit 是一个函数,用于初始化单元格编辑器的值和属性。以下是设置数据下拉框筛选值的步骤:
1. 在 colModel 中定义列模型,例如:
```
colModel: [
{ name: 'id', index: 'id', width: 60, editable: true },
{ name: 'name', index: 'name', width: 100, editable: true,
edittype: 'select',
editoptions: {
dataUrl: 'data.php',
dataInit: function (elem) {
$(elem).autocomplete({
source: function (request, response) {
$.ajax({
url: 'data.php',
dataType: 'json',
data: {
term: request.term
},
success: function (data) {
response(data);
}
});
},
minLength: 2
});
}
}
},
{ name: 'price', index: 'price', width: 80, align: 'right', editable: true }
]
```
2. 在 editoptions 中设置 dataUrl 和 dataInit,例如:
```
editoptions: {
dataUrl: 'data.php',
dataInit: function (elem) {
$(elem).autocomplete({
source: function (request, response) {
$.ajax({
url: 'data.php',
dataType: 'json',
data: {
term: request.term
},
success: function (data) {
response(data);
}
});
},
minLength: 2
});
}
}
```
其中,dataUrl 是下拉框的数据源,dataInit 是一个函数,用于初始化下拉框的值和属性。在 dataInit 函数中,可以通过 $(elem) 获取到当前下拉框的 jQuery 对象,然后使用 jQuery UI 的 autocomplete 方法设置下拉框的筛选值。
3. 最后需要重新加载 jqGrid,例如:
```
$("#grid").trigger("reloadGrid");
```
这样就可以设置 jqGrid 中数据下拉框的筛选值了。需要注意的是,在 editoptions 中还可以设置其他属性,例如 multiple、size、value 等。
阅读全文