通常我们调用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 中触发函数?
你不需要在PHP脚本中混合HTML代码和JavaScript代码。取而代之的是,您可以放置<script>
元素
<script type="text/javascript" src="theURL.js"></script>
在 PHP 脚本中。可以放在.JS文件中的 JavaScript 代码。
UPDATE:您可以在设置一些全局变量的内联 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.cnames
和MYGLOBALSETTINGS.cmodel
$("#imports_grid").jqGrid({
// jqGrid settings
url: MYGLOBALSETTINGS.url,
datatype: "json",
colNames: MYGLOBALSETTINGS.cnames,
colModel: MYGLOBALSETTINGS.cmodel,
onSelectRow: function() {
// Code
},
});