javascript - Yii CGridView 使用键盘的箭头向上和向下移动选定的行

标签 javascript php jquery yii cgridview

我想知道如何移动 Yii’s CGridView 中选定的行使用向上和向下箭头按钮。我的情况是我有一个 CGridView 分页 = false (无分页)。我希望在加载页面时自动选择第一行。然后,当用户移动向下箭头时,它将选择第二行。重点是仅移动选择行而不是上下移动该行。

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

最佳答案

我发现仅使用 jquery 会容易得多,因为 yii CGridView javascript getSelection 将返回模型的 id,而在我的情况下,该 id 不会显示在 CGridView(表)中的任何位置。

这是我的解决方案

<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 - Yii CGridView 使用键盘的箭头向上和向下移动选定的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24225044/

相关文章:

javascript - 使用 PassportJS 和 dynamoDB 的 Express 应用程序定位到登录页面,没有错误

javascript - 我应该为 JS 事件触发器使用哪个 HTML5 标签

php - 帮我阻止用户输入有害代码

jquery - 通过 $.ajax 将多个变量传递给 beforeSend 函数

javascript - 为什么我的 `load` 函数没有被调用?

javascript - 如何在 for ..of 中添加及时等待?

javascript - Vue.js - 如何确定 axios 请求是否没有响应数据

php 不能执行任何外部命令?

php - MySql:使用 PHP 在 auto_increment 字段中插入值

c# - jQuery.ajax "data"参数语法