代码之家  ›  专栏  ›  技术社区  ›  dcp

jqGrid-从未调用编辑函数

  •  0
  • dcp  · 技术社区  · 15 年前

    this 示例(转到该链接后,请单击页面左侧的Live Data Manipulation,然后单击Edit Row),但我的编辑功能从未被调用(即,它从未进入 $("#bedata").click(function()

        <script type="text/javascript">
            var lastsel2;
    
            jQuery(document).ready(function() {
                jQuery("#editgrid").jqGrid({
                    url: '/Home/GetMovieData/',
                    datatype: 'json',
                    mtype: 'GET',
                    colNames: ['id', 'Movie Name', 'Directed By', 'Release Date', 'IMDB Rating', 'Plot', 'ImageURL'],
                    colModel: [
                      { name: 'id', index: 'Id', width: 55, sortable: false, hidden: true, editable: false, editoptions: { readonly: true, size: 10} },
                      { name: 'Movie Name', index: 'Name', width: 250, editable: true, editoptions: { size: 10} },
                      { name: 'Directed By', index: 'Director', width: 250, align: 'right', editable: true, editoptions: { size: 10} },
                      { name: 'Release Date', index: 'ReleaseDate', width: 100, align: 'right', editable: true, editoptions: { size: 10} },
                      { name: 'IMDB Rating', index: 'IMDBUserRating', width: 100, align: 'right', editable: true, editoptions: { size: 10} },
                      { name: 'Plot', index: 'Plot', width: 150, hidden: false, editable: true, editoptions: { size: 30} },
                      { name: 'ImageURL', index: 'ImageURL', width: 55, hidden: true, editable: false, editoptions: { readonly: true, size: 10} }
                    ],
                    pager: jQuery('#pager'),
                    rowNum: 5,
                    rowList: [5, 10, 20],
                    sortname: 'id',
                    sortorder: "desc",
                    height: '100%',
                    width: '100%',
                    viewrecords: true,
                    imgpath: '/Content/jqGridCss/redmond/images',
                    caption: 'Movies from 2008',
                    editurl: '/Home/EditMovieData/',
                    caption: 'Movie List'
                });
            });
    
            $("#bedata").click(function() {
                var gr = jQuery("#editgrid").jqGrid('getGridParam', 'selrow');
                if (gr != null)
                    jQuery("#editgrid").jqGrid('editGridRow', gr, { height: 280, reloadAfterSubmit: false });
                else
                    alert("Hey dork, please select a row");
            });            
        </script>
    

    相关的HTML如下:

    <table id="editgrid">
    </table>
    <div id="pager" style="text-align: center;">
    </div>
    <input type="button" id="bedata" value="Edit Selected" />
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   Justin Ethier    15 年前

    因为我在示例代码中没有看到它,所以需要从jQuery中调用所有这些 ready

    jQuery(document).ready(function($) {
    
        var lastsel2;
    
        jQuery(document).ready(function() {
        ...
    });
    

    否则,您的代码可能会在DOM就绪之前执行,这可能解释了 click 处理程序从未设置。