jqgrid:为什么我收到“数据”而不是id属性值?

时间:2011-04-29 18:31:03

标签: jquery attributes jqgrid

jqgrid片段:

gridComplete: function(){

    var ids = jQuery("#breed_list").jqGrid('getDataIDs');
    for(var i=0;i < ids.length;i++)
    {
        var cl = ids[i];
        ed = "<img src="../images/edit.png" alt="Edit" onclick="jQuery('#breed_list').editRow('"+cl+"');" />";
        de = "<img class="del_row" src="../images/delete.png" alt="Delete" />";
        ce = "<input class="del_row" type='button' onclick="deleteRow()" />";
        jQuery("#breed_list").jqGrid('setRowData',ids[i],{act:ed+de+ce});
    }

    $(this).mouseover(function() {
        var valId = $('.ui-state-hover').attr("id");
        jQuery("#breed_list").setSelection(valId, false);
        alert(valId);
        //deleteRow(valId)
    });

自定义功能代码:

function deleteRow(){

    // Get the currently selected row
    var toDelete = $("#breed_list").jqGrid('getGridParam','selrow');

    // You'll get a pop-up confirmation dialog, and if you say yes,
    // it will call "delete.php" on your server.
    $("#breed_list").jqGrid(
        'delGridRow',
        toDelete,
          {
               url: 'delete.php',
               reloadAfterSubmit:false
          }
    );
    //alert(toDelete);

}

当未执行delGridRow时,该代码会自动正确选择悬停的单元格。当我单击actions列下的按钮时,它会调用执行delGridRow的deleteRow()函数。当我单击取消时,删除表单将关闭。现在,当我悬停一个单元格时,它不会自动选择当前悬停的单元格。为了调试这个,我在.mouseover函数中放置了alert(valId),该函数返回eData而不是id属性值。只要不执行deleteRow函数,alert(valId)就会发出id属性值。为什么eData在返回id属性值时设置为valId?我该如何解决这个问题?

修改
显然,我一直在努力解决这个问题。我回到了基本网格和gridComplete。

jQgrid片段:

de = "<input style='height:22px;width:20px;' type='button' value='d' onclick=\"deleteRow('"+cl+"');\" />";

deleteRow功能代码:

function deleteRow(valId){

    jQuery("#breed_list").setSelection(valId, false);

    // You'll get a pop-up confirmation dialog, and if you say yes,
    // it will call "delete.php" on your server.
    $("#breed_list").jqGrid(
        'delGridRow',
        valId,
          { 
               url: 'delete.php',
               reloadAfterSubmit:false
          }
    );
    //alert(toDelete);

}

现在就像魅力一样,但我仍然希望结合鼠标悬停功能,如前所述。

1 个答案:

答案 0 :(得分:0)

显然我一直在努力解决这个问题。我回到了基本网格和gridComplete。

jQgrid片段:

    de = "<input style='height:22px;width:20px;' type='button' value='d' onclick=\"deleteRow('"+cl+"');\" />";

deleteRow function code:  

    function deleteRow(valId){

        jQuery("#breed_list").setSelection(valId, false);

        // You'll get a pop-up confirmation dialog, and if you say yes,
        // it will call "delete.php" on your server.
        $("#breed_list").jqGrid(
            'delGridRow',
            valId,
              { 
                   url: 'delete.php',
                   reloadAfterSubmit:false
              }
        );
        //alert(toDelete);

    }

现在就像魅力一样,但我仍然希望结合鼠标悬停功能,如前所述。