我在yii应用程序上有一个cgridview,并且将selectableRows设置为仅1。
我有以下JavaScript来捕获click事件,并将该行的ID复制到同一视图文件上的texfield中(该ID无法显示在gridview本身上,这就是我使用getSelection的原因)。

$('#doctors-grid').on('click', 'table tbody tr', function()
        {
            var doctorID = $.fn.yiiGridView.getSelection('doctors-grid');
            $('#doctorIDTextfield').val(doctorID);
        });


问题在于,id值永远不会在第一次单击时复制到文本字段中,而是必须再次单击。更不用说当我开始单击许多不同的行时,id值有时会出错。

有人可以帮忙吗?感谢您的时间。

最佳答案

知道为什么它不起作用,但是您可以采用另一种方式:

....
    'rowHtmlOptionsExpression'=>'array("data-id"=>$data->id)',
....


在您的网格选项中,然后使用js:

$('#doctors-grid').on('click', 'table tbody tr', function()
        {
            var doctorID = $(this).attr("data-id");
            $('#doctorIDTextfield').val(doctorID);
        });


这将起作用。

07-26 02:35