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

主要思想类似于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/

10-12 05:28