Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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
Php jqgrid dataUrl函数代码段有问题_Php_Json_Jqgrid - Fatal编程技术网

Php jqgrid dataUrl函数代码段有问题

Php jqgrid dataUrl函数代码段有问题,php,json,jqgrid,Php,Json,Jqgrid,我需要有当前选中的行id,以便构建一个JSON字符串,该字符串将传递给php脚本,以便创建一个select,因此我将脚本引用和代码包含在一个函数中 但是,这样做会产生网络错误:403禁止的错误 以下是代码段: editoptions:{dataUrl:function(){ var row_id = $('#tab3-grid').getGridParam('selrow'); var jsondata = JSON.stringify({"cu.STID": $('#tab3-grid')

我需要有当前选中的行id,以便构建一个JSON字符串,该字符串将传递给php脚本,以便创建一个select,因此我将脚本引用和代码包含在一个函数中

但是,这样做会产生
网络错误:403禁止的
错误

以下是代码段:

editoptions:{dataUrl:function(){
var row_id   = $('#tab3-grid').getGridParam('selrow');
var jsondata = JSON.stringify({"cu.STID": $('#tab3-grid').jqGrid('getCell', row_id, 'cu.STID'),
                               "wv.SVID": $('#tab3-grid').jqGrid('getCell', row_id, 'wv.SVID')});

return 'php/items-se-script.php?data='+jsondata;
},
有人知道发生了什么事吗

更新:

{name:'it.PRID', index:'it.PRID', hidden: true, editable:true,  edittype:'select',
editoptions:{dataUrl:'php/items-se-script.php', defaultValue:'26', dataEvents:[{type:'change',fn:function(e){$('input#ip\\.Item').val($('option:selected', this).text());}}]},
formoptions:{label:'Item', elmprefix:'* '},
editrules:{edithidden:true, required:true}},

{name:'ip.Item', index:'ip.Item', hidden: true, sortable: true, editable:false, edittype:'text', editoptions:{readonly:true,size:20}, formoptions:{rowpos: 50, label:'Item'}, editrules:{required:true}}

],

ajaxSelectOptions: {
   type:'POST',
   data: {
      data: function () {
         var row_id = $('#tab3-grid').getGridParam('selrow');
         return JSON.stringify({
            "cu.STID": $('#tab3-grid').jqGrid('getCell', row_id, 'cu.STID'),
            "wv.SVID": $('#tab3-grid').jqGrid('getCell', row_id, 'wv.SVID')
         });
      }
   }
},

url:    'php/workordertab-script.php',
editurl:'php/workordertab-script.php',

属性
dataUrl
不能是函数。如果在构建select的过程中需要向服务器发送任何附加信息,可以使用我描述的选项。在您的情况下,将涉及以下内容:

var $myGrid = $('#tab3-grid');
$myGrid.jqGrid({
    // ... here all you current parameters which includes
    //     editoptions: { dataUrl: 'php/items-se-script.php' }
    // for the corresponding column in colModel
    ajaxSelectOptions: {
        data: { // "data" here is jQuery.ajax parameter 
            data: function () { // "data" here is the name of you custom parameter
                var row_id = $myGrid.getGridParam('selrow');
                return JSON.stringify({
                    "cu.STID": $myGrid.jqGrid('getCell', row_id, 'cu.STID'),
                    "wv.SVID": $myGrid.jqGrid('getCell', row_id, 'wv.SVID')
                });
            }
        }
    }
});

@哦,成功了-谢谢!我意识到ajaxSelectOptions选项为网格中的所有select数据URL激发。有没有办法让ajaxSelectOptions在网格中只为一个特定的select数据URL启动?@NelsonM:没有,您不能单独设置
ajaxSelectOptions
(请参阅和或。对于网格的不同列,您可以有不同的URL,但只有一个常规的
ajaxSelectOptions
选项。@OIeg,为了在这种情况下创建正确的选择列表,我必须知道表单是“添加”还是“编辑”。除了定义editData之外:在用于编辑和添加的navgrid中,是否存在jqgrid全局变量,用于标识是否按下了添加或编辑导航按钮?@NelsonM:您可以在方法中设置任何变量,这些变量对于添加和编辑表单而言可能不同。该变量不能是全局变量,但应位于要使用i的函数的范围内t、 此外,您甚至可以在这两个
onInitializeForm
中更改
ajaxSelectOptions
的值。这样,您可以为添加和编辑表单设置不同的
ajaxSelectOptions
,甚至可以为不同的行或网格设置不同的设置,但不能为不同的行或网格设置不同的
ajaxSelectOptions
lumns@OIeg,好的……谢谢你的帮助。我正在尝试同时学习jqgrid、jquery和javascript并编写程序。