最近使用easyui,其中有给DataGrid插件,想想Editor中添加回车事件,我的代码如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
       <link rel="stylesheet" type="text/css" href="../themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="../themes/icon.css">
<script type="text/javascript" src="../js/jq/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="../js/jq/jquery.easyui.min.js"></script>
    <title></title>      
<script type="text/javascript">
    $(
        function()
        {
            $('#ttt').datagrid(
                {
                    idField: "id",
                    frozenColumns: [[
                    //{ field: 'ck', checkbox: true }
                                        {field: 'id', title: '编号', rowspan: 2, width: 80, sortable: false, editor: 'text' },
                                            { field: 'name', title: '姓名', rowspan: 2, width: 200, sortable: true, editor: 'text' }
                                  ]],
                    columns: [
                                [
                                        { title: '登录信息', colspan: 2 },
                                        { field: 'status', title: '状态', rowspan: 2, sortable: true, editor: 'text',
                                            formatter: function(val, rec)
                                            {
                                                if (val == "0")
                                                {
                                                    return "<span style='color:red'}\">" + val + "</span>"
                                                }
                                                else
                                                {
                                                    return val;
                                                }
                                            }
                                        },
                                        { field: 'memo', title: '备注', rowspan: 2, sortable: true,
                                            editor:
                                            {
                                                type: 'text',
                                                options:
                                                {
                                                    onclick: function() { alert('hello'); }
                                                }
                                            }
                                        }
                                    ],
                                    [
                                        { field: 'logname', title: '登录名', sortable: true, editor: 'text' },
                                        { field: 'password', title: '密码', editor: 'text' }
                                   ]
                                 ],
                    onClickRow: function(rowindex, rowData)
                    {
                        $('#ttt').datagrid('beginEdit', rowindex)
                    },
                    striped: true,
                    url: 'userSrv.aspx',
                    loadMsg: "正在传输数据,请稍后......",
                    rownumbers: true,
                    pagination: true,
                    singleSelect: true,
                    sortName: 'id',
                    sortOrder: 'asc',
                    toolbar: [
                        {
                            id: "btnadd",
                            text: "添加",
                            iconCls: "icon-add",
                            handler: function()
                            {
                                alert('添加');
                            }
                        },
                        {
                            id: "btnsearch",
                            text: "查询",
                            iconCls: "icon-search",
                            handler: function()
                            {
                                //$('#ttt').datagrid('selectRecord', '10'); //选择主键等于'10'的行idField
                                //$('#ttt').datagrid('selectRow', 2); //选中第三行
                                //$('#ttt').datagrid('unselectRow', 2); //撤销选中第三行
                                //$('#ttt').datagrid('clearSelections'); //撤销选择的所有行
                            }
                        },
                        {
                            id: "btnsave",
                            text: "修改",
                            iconCls: "icon-save",
                            handler: function()
                            {
                                var row = $("#ttt").datagrid('getSelected');
                                alert(row.id);
                                //var rows = $("#ttt").datagrid('getSelections');//多项                                                               
                            }
                        }
                    ]
                }
            );             var p = $('#ttt').datagrid('getPager');
            if (p)
            {
                $(p).pagination({
                    onBeforeRefresh: function()
                    {
                        alert('刷新数据前执行');
                    }
                });
            };
            $('#ttt').datagrid('getPanel').panel({
                collapsible: true
            });
        }
    );         
    
</script>
</head>
<body>       
    <table id='ttt'></table>        
</body>
</html>

解决方案 »

  1.   

    { field: 'memo', title: '备注', rowspan: 2, sortable: true,
    editor: {type: 'text',options: {
                                                        onclick: function() { alert('hello'); }
                                                    }
                                                }
                                            }
    想在“备注”列上添加事件比如“onclick”或则回车事件,请给位帮忙
      

  2.   

    添加键盘事件,keyup/keydown看看按键值event.keyCode 是否等于13即可
      

  3.   

    回复于:2010-08-09 13:32:44CSS code添加键盘事件,keyup/keydown看看按键值event.keyCode 是否等于13即可
    ////////////////////////
    老大这个我知道的,但是在easyui中怎么添加到DataGrid的Editor上呢?多谢
      

  4.   

    { field: 'memo', title: '备注', rowspan: 2, sortable: true,
        editor:
        {
            type: 'text',
            options:
            {
                keyup: function() { alert('hello'); }
            }
        }
    }在Easyui中是这样定义一列的,其中eidtor就是编辑状态下的显示一个input,而easyui没有提供添加事件的方法,可能是我没有找到吧!
      

  5.   

    //问题解决的,原理,在beginEdit时给$("input.datagrid-editable-input")添加keyup事件即可
    代码如下:
    onClickRow: function(rowindex, rowData)
    {
        $('#ttt').datagrid('beginEdit', rowindex);
        //$.each(rowData, function(k, v) { alert(k+":"+v); });
        $("input.datagrid-editable-input").keyup(function() { alert('hello'); });
    },
    /////////////////////
    总结:easyui的datagrid插件功能还是太少,用起来麻烦,希望easyui尽快完善
      

  6.   

    在1.2版本里可以这样
     $('#ttt').datagrid('beginEdit', rowIndex);
                            var ed = $('#ttt').datagrid('getEditors', rowIndex);
                            for (var i = 0; i < ed.length; i++)
                            {
                                var e = ed[i];
                                $(e.target).bind('keyup', function()
                                {
                                    if (window.event.keyCode == 13)
                                    {
                                        alert("you check enter key");                                                                                                          
                                    }
                                });
                            }
      

  7.   

    http://blog.csdn.net/tianlincao/article/details/7444450