由于jQuery错误,无法提交jqGrid中的添加和编辑

时间:2013-01-04 17:17:38

标签: jquery jqgrid

我使用jqGrid插件来表示我的数据列表,以及使用navGrid添加/编辑/删除/查看/搜索数据,但是当我提交添加/编辑表单时,错误发生在firebug中,如下所示:

$.type is not a function
var obj = $.type( pref );

以下是从数据库获取数据并将它们传递给jqGrid的代码:

/**
 * Update store of account grid.
 */
var updateGridStore = function() {
    $.ajax({
        type : "POST",
        url : CONTEXT + "/admin/doListAccounts.action",
        dataType : 'json',
        success : function(response) {
            if (response) {
                if (response.success) {
                    updateAccountGrid(response);
                } else {
                    alert(response.message);
                }
            } else {
                alert("Failed to get accounts.");
            }
        },
        error : function(error) {
            alert("error: " + error);
        }
    });
};

/ **  *创建或更新帐户网格。 * /

var updateAccountGrid = function(response) {
    jQuery("#accountGrid").jqGrid(
            {
                data : response.list,
                scrollrows : true,
                datatype : "local",
                colNames : [ "ID", "True Name", "Admin", "Email", 
"Mobile", "Telphone", "QQ",
                        "Dept", "Group", Status" ],
                colModel : [ {
                    name : 'id',
                    index : 'id',
                    width : 50,
                    editable : false,
                    align : 'center',
                    editoptions : {
                        readonly : false,
                        size : 45
                    }
                }, {
                    name : 'truename',
                    index : 'truename',
                    width : 140,
                    editable : true,
                    align : 'center',
                    editrules : {
                        required : true
                    },
                    editoptions : {
                        size : 45
                    }
                }....],
                rowNum : 25,
                autowidth : true,
                height : 200,
                rowList : [ 25, 50, 100, 150 ],
                pager : "#accountGridNav",
                sortname : 'id',
                viewrecords : true,
                sortorder : "desc",
                shrinkToFit : false,
                rownumbers : true,
                altRows : true,
                caption : "User Accounts"
            });


    jQuery("#accountGrid").jqGrid('navGrid', '#accountGridNav', {
        view : true
    }, 
    {
        jqModal : true,
        checkOnUpdate : true,
        savekey : [ true, 13 ],
        navkeys : [ true, 38, 40 ],
        checkOnSubmit : true,
        reloadAfterSubmit : false,
        closeOnEscape : true,
        bottominfo : "Fields marked with (*) are required"
    }, {
        jqModal : true,
        checkOnUpdate : true,
        savekey : [ true, 13 ],
        navkeys : [ true, 38, 40 ],
        checkOnSubmit : true,
        reloadAfterSubmit : false,
        closeOnEscape : true,
        bottominfo : "Fields marked with (*) are required"
    }, {
        reloadAfterSubmit : false,
        jqModal : false,
        closeOnEscape : true
    }, {
        closeOnEscape : true
    }, {
        navkeys : [ true, 38, 40 ],
        height : 250,
        jqModal : false,
        closeOnEscape : true
    });

    jQuery("#accountGrid").jqGrid('setGroupHeaders', {
          useColSpanStyle: true, 
          groupHeaders:[
            {startColumnName: 'email', numberOfColumns: 4, titleText: 'Contacts'},
            {startColumnName: 'deptName', numberOfColumns: 2, titleText: 'Department Info'}
          ] 
        });

    jQuery("#accountGrid").closest("div.ui-jqgrid-view").children(
            "div.ui-jqgrid-titlebar").css("text-align", "center").children(
            "span.ui-jqgrid-title").css("float", "none");
};

我不知道$ .type的定义在哪里?我该如何处理它。非常感谢。

1 个答案:

答案 0 :(得分:0)

也许,jQuery别名在这里不起作用。你试过jQuery.ajax而不是$ .ajax吗?