Javascript Yii CGridView使用键盘的箭头上下移动选定行

Javascript Yii CGridView使用键盘的箭头上下移动选定行,javascript,php,jquery,yii,cgridview,Javascript,Php,Jquery,Yii,Cgridview,我想知道如何使用箭头按钮上下移动选定的行。我的情况是,我有一个分页为false的CGridView,没有分页。我希望在加载页面时自动选择第一行。然后,当用户移动向下箭头时,它将选择第二行。点只是移动选择行,而不是上下移动行 其主要思想类似于Excel。它将帮助用户验证行。我认为您必须为此编写自定义javascript 我不认为有一个Yii解决方案可以解决这个问题,也许是在其中一个扩展中 Yii通过将选定的类添加到网格中的s来告诉您选择了哪一行 我认为,您需要编写一个javascript函数,将所

我想知道如何使用箭头按钮上下移动选定的行。我的情况是,我有一个分页为false的CGridView,没有分页。我希望在加载页面时自动选择第一行。然后,当用户移动向下箭头时,它将选择第二行。点只是移动选择行,而不是上下移动行


其主要思想类似于Excel。它将帮助用户验证行。

我认为您必须为此编写自定义javascript

我不认为有一个Yii解决方案可以解决这个问题,也许是在其中一个扩展中

Yii通过将选定的类添加到网格中的s来告诉您选择了哪一行

我认为,您需要编写一个javascript函数,将所选类添加到网格中的下一行,并将其从上一行中删除,以获得所需的内容


也许你可以用一些易的。我已经写了一些关于这方面的内容,但这是一篇未完成的文章,抱歉。

我发现只使用jquery要容易得多,因为yii CGridView javascript getSelection将返回模型的id,而在我的案例中CGridView表中的任何地方都没有显示id

这是我的解决方案

<script type="text/javascript">
shortcut.add("Down", function() {
    moveDown();
});

shortcut.add("Up", function() {
    moveUp();
});

function moveDown() {
    var rows = $('#form-detail-grid table tr');
    var currentRow = $("tr.selected").get(0);

    if (rows.length > 2) {
        if (currentRow === undefined) {
            rows.eq(1).addClass('selected');
        } else if ($(currentRow).next('tr').get(0) === undefined) {
            //do nothing
        } else {
            $(currentRow).next('tr').addClass('selected');
            $(currentRow).removeClass('selected');
        }
    }
}

function moveUp() {
    var rows = $('#form-detail-grid table tr');
    var currentRow = $("tr.selected").get(0);

    if (rows.length > 2) {
        if (currentRow === undefined) {
            rows.eq(1).addClass('selected');
        } else if ($(currentRow).prev('tr').get(0) === undefined) {
            //do nothing
        } else {
            $(currentRow).prev('tr').addClass('selected');
            $(currentRow).removeClass('selected');
        }
    }
}

同意使用自定义javascript。我使用的是来自的shortcut.js,但是,我不知道如何使用javascript/jquery从当前cgridview获取所选行,以便可以向前和向后移动。感谢您的回复。$.fn.yiiGridView.getSelection'my-grid-id'。看看我给你的其他功能的链接。