jqGrid - 对navgrid的添加操作没有值的变量

时间:2018-04-13 19:05:04

标签: javascript php jquery jqgrid

我有两个类似于高级的网格 - > http://trirand.com/blog/jqgrid/jqgrid.html

上的Master-Detail示例

我无法插入详细网格(称为" preguntas"),因为主网格上所选行的ID(称为" secciones")为空。我通过POST在变量" section_id"中发送此值。 (参见gestionar_seccion.php的最后一行)。

// gestionar_seccion.php

    var id_form_js = '<?php echo $id_form_php;?>'
    var id_sec;

    jQuery("#secciones").jqGrid({
        url:'gestionar_seccionBD.php',
        datatype: "json",
        mtype: 'POST',
        postData: {accion:"listarSec", tabla:"secciones", form_id: id_form_js},
        colNames: ['SECCION','NOMBRE','DESCRIPCION','RESPUESTAS DUPLICADAS','VISUALIZACION RESPUESTAS','FORMULARIO'],
        colModel: [
            {name:'id_seccion', width:15, align:'right'},
            {name:'nombre', editable:true, width:20, sortable:false, align:'left'},
            {name:'descripcion', editable:true, width:30, sortable:false, edittype:"textarea", editoptions:{rows:"3",cols:"30"}},
            {name:'rtas_duplicadas', width:20, align:'center', editable:true, resizable:false, sortable:false, edittype:"checkbox", editoptions:{value:"S:N"}, formatter:'checkbox'},
            {name:'visualizacion_rtas', editable:true, width:20, align:'center', resizable:false, sortable:false, edittype:"select", editoptions:{value:"V:Vertical;H:Horizontal"}, formatter:'select'},
            {name:'id_form', hidden: true, editrules: {edithidden: true}, editable: true, hidedlg: true, editoptions:{readonly:true, defaultValue:id_form_js}}
        ],
        editurl: "gestionar_seccionBD.php",
        caption: "SECCIONES",
        onSelectRow: function (id) {
            if (id == null) {
                id=0;
                if (jQuery("#preguntas").jqGrid('getGridParam','records') > 0) {
                    id_sec = id;
                    jQuery("#preguntas").jqGrid('setGridParam',{url:"gestionar_seccionBD.php", page: 1, rows: 10, mtype:'POST', postData:{accion:'listarPreg',tabla:"preguntas", section_id:id, form_id:id_form_js}});
                    jQuery("#preguntas").jqGrid('setCaption',"PREGUNTAS DE LA SECCION #" + id + " DEL FORMULARIO #" + id_form_js).trigger('reloadGrid');
                }
                } else {
                    id_sec = id;
                    jQuery("#preguntas").jqGrid('setGridParam',{url:"gestionar_seccionBD.php", page: 1, rows: 10, mtype:'POST', postData:{accion:'listarPreg',tabla:"preguntas", section_id:id, form_id:id_form_js}});
                    jQuery("#preguntas").jqGrid('setCaption',"PREGUNTAS DE LA SECCION #" + id + " DEL FORMULARIO #" + id_form_js).trigger('reloadGrid');            
                }
            } 

    });

jQuery("#preguntas").jqGrid({
        url:'gestionar_seccionBD.php',
        datatype: "json",
        mtype: 'POST',
        colNames: ['PREGUNTA','OCULTA','TIPO RESPUESTA','SECCION','FORMULARIO','DESCRIPCION'],
        colModel: [
            {name:'id_pregunta', width:30, align:'right', editable:true, editoptions:{readonly:true}},
            {name:'oculta', width:15, align:'center', editable:true, resizable:false, sortable:false, edittype:"checkbox", editoptions:{value:"S:N"}, formatter:'checkbox'},
            {name:'tipo_respuesta', editable:true, width:25, align:'center', resizable:false, sortable:false, edittype:"select", editoptions:{value:"AB:Abierta;MO:Múltiple;UO:Unica;LV:Lista"}, formatter:'select'},
            {name:'id_seccion', hidden: true, editrules: {edithidden: true}, editable: true, hidedlg: true, editoptions:{readonly:true, defaultValue:id_sec}},
            {name:'id_form', hidden: true, editrules: {edithidden: true}, editable: true, hidedlg: true, editoptions:{readonly:true, defaultValue:id_form_js}},
            {name:'id_fila', hidden: true},
            {name: 'descripcion', editable:true, width:30, sortable:false, edittype:"textarea", editoptions:{rows:"3",cols:"30"}}
        ],
        editurl:'gestionar_seccionBD.php',
        caption: "PREGUNTAS"
    }).navGrid('#pager_preg',{edit:true,add:true,del:true,search:false},{closeAfterEdit:true, reloadAfterSubmit:true, editData: {tabla: 'preguntas', form_id: id_form_js, section_id: id_sec}}, {closeAfterAdd:true, reloadAfterSubmit:true, editData: {tabla: 'preguntas', section_id: id_sec, form_id: id_form_js}});

// gestionar_seccionBD.php

$id_seccion = $_POST['section_id'];
$id_form = $_POST['form_id'];

$sql = "INSERT INTO adm.preguntas 
        (id_pregunta, oculta, tipo_respuesta, id_seccion, id_form, descripcion)
        VALUES 
        ($id_pregunta, '$oculta', '$tipo_respuesta', $id_seccion, $id_form, '$descripcion')";

我感谢任何建议,谢谢。

0 个答案:

没有答案