我在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);
});
这将起作用。