Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JqGrid PHP:通过工具栏过滤时突出显示结果_Javascript_Php_Jqgrid_Jqgrid Php - Fatal编程技术网

Javascript JqGrid PHP:通过工具栏过滤时突出显示结果

Javascript JqGrid PHP:通过工具栏过滤时突出显示结果,javascript,php,jqgrid,jqgrid-php,Javascript,Php,Jqgrid,Jqgrid Php,我想在使用过滤器工具栏时突出显示搜索结果 我尝试使用解决方案并提供, 但它在jqsuiteforphp中不起作用 grid.php代码片段 $highlighting = <<<HIGHLIGHTING function () { var filters, i, l, rules, rule, iCol, $this = $(this); if (this.p.search === true) { filters = $.parseJSON(t

我想在使用过滤器工具栏时突出显示搜索结果

我尝试使用解决方案并提供, 但它在jqsuiteforphp中不起作用

grid.php代码片段

$highlighting = <<<HIGHLIGHTING

function () {
    var filters, i, l, rules, rule, iCol, $this = $(this);
    if (this.p.search === true) {
        filters = $.parseJSON(this.p.postData.filters);
        if (filters !== null && typeof filters.rules !== 'undefined' &&
                filters.rules.length > 0) {
            rules = filters.rules;
            l = rules.length;
            for (i = 0; i < l; i++) {
                rule = rules[i];
                iCol = getColumnIndexByName($this, rule.field);
                if (iCol >=0) {
                    $('>tbody>tr.jqgrow>td:nth-child(' + (iCol + 1) +
                        ')', this).highlight(rule.data);
                }
            }
        }
    }
}

HIGHLIGHTING;

$grid->setGridEvent('loadComplete',$highlighting);
$highlighting=setGridEvent('loadComplete',$highlighting);
我得到这个错误:

注意:未定义变量:


你能理解我做错了什么吗?

我自己不使用PHP。无论如何,您应该知道您在页面上使用的网格的ID。例如,如果它是
id=“grid”
,那么您可以用函数代码内部的
$(“#grid”)[0]
替换该

很抱歉,它仍然不起作用。我将其更改为:
$this=$(“#网格”)[0]
@jesstone:您使用的代码包含许多对
this
的引用。代码
$this=$(this)
可以替换为
$this=$(“#网格”)[0])
,或者只替换为
$this=$(“#网格”)
,代码
$('>tbody>tr.jqgrow>td:nth子项('..,this)
包含
this
,代码
this.p.search
this.p.postData过滤器
可以替换为
”[350].p.search
$(“#网格”)[0].p.postData.filters
。谢谢你亲爱的@Oleg。不幸的是,我现在得到了:
未捕获的引用错误:getColumnIndexByName未定义
@Jesstone:的代码也包含了
getColumnIndexByName
的定义。你只需将定义为
$highlighting
的函数中的代码包含进去即可cal函数
getColumnIndexByName
可以用与任何局部变量相同的方式定义。是的@Oleg你说得对!我缺少该函数。注意:我通过
$grid->setJSCode($custom);
添加了函数
getColumnIndexByName
,因为通过
$grid->setGridEvent]添加该函数不起作用('loadComplete',$highlighting);
。所以我的代码基本上分为两部分:)再次感谢我的导师!