我同时使用高级搜索和filterToolbar。两者共享大多数searchOptions。 我动态设置了searchoptions.dataInit,并且需要元素的attr“name”,以获得当前col的一些colmodel attrs,就像这样......
searchoptions.dataInit = function(element) {
console.log(element);
var colName = $(element).attr('name'));
var attrs = $grid.jqGrid('getColProp', colName);
(hwere set some different datePicker options depending on col attrs ...)
}
这在filterToolbar情况下工作正常,但在高级搜索中没有。 IN dataInit我调试“元素”......
所以,在第二种情况下,我无法获得字段名称,我需要获得一些colmodel参数。
我该如何解决这个问题? (jqGrid v4.6.0,我现在无法升级版本)
答案 0 :(得分:0)
您描述的问题仅存在于旧的jqGrid 4.6中。作为解决方法,我建议您使用以下
searchoptions.dataInit = function(element) {
var $td = $(element).closest("td.data");
if ($td.length > 0) {
// in searching dialog
alert($td.siblings(".columns").find("select").val());
}
...
}
$td
(var $td = $(element).closest("td.data");
)将是外部单元格,其中包含带有datepicker的输入。 $td.siblings(".columns")
将在列上添加名称的单元格$td.siblings(".columns").find("select").val()
为您提供列名。