Jqgrid - 另一种调用onSelectRow的方法

时间:2012-12-01 10:26:39

标签: jqgrid

通常我们调用onSelectRow函数,如:

$("#imports_grid").jqGrid({
    // jqGrid settings
    url: url,
    datatype: "json",
    colNames: cnames,
    colModel: cmodel,
    onSelectRow: function() {
      // Code
    },
});

我的PHP脚本使用json_encode()输出jqGrid设置,所以它看起来像

$script = '$("#imports_grid").jqGrid(' . json_encode($js_settings) . ');';
// echo $script;

在这种情况下,onSelectRow的功能不起作用。

是否有另一种方法可以在onSelectRow中触发函数?

1 个答案:

答案 0 :(得分:1)

您不需要在PHP脚本中混合HTML代码和JavaScript代码。而不是你可以放置<script>元素

<script type="text/javascript" src="theURL.js"></script>
PHP脚本中的

。您可以在.JS文件中放置的JavaScript代码。

更新:您可以在设置一些全局变量的内联JavaScript代码和使用变量的JS文件之间进行混合:

您使用的PHP代码中的

<script type="text/javascript">
    var MYGLOBALSETTINGS = {
        cnames: ["Column 1", "Column 2", ...],
        cmodel: [{...}, {...}...],
        url: "myUrl"
    };
</script>
<script type="text/javascript" src="my.js"></script>

并在my.js中使用MYGLOBALSETTINGS.cnamesMYGLOBALSETTINGS.cmodel

$("#imports_grid").jqGrid({
    // jqGrid settings
    url: MYGLOBALSETTINGS.url,
    datatype: "json",
    colNames: MYGLOBALSETTINGS.cnames,
    colModel: MYGLOBALSETTINGS.cmodel,
    onSelectRow: function() {
      // Code
    },
});