通常我们调用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中触发函数?
答案 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.cnames
和MYGLOBALSETTINGS.cmodel
$("#imports_grid").jqGrid({
// jqGrid settings
url: MYGLOBALSETTINGS.url,
datatype: "json",
colNames: MYGLOBALSETTINGS.cnames,
colModel: MYGLOBALSETTINGS.cmodel,
onSelectRow: function() {
// Code
},
});