1

我使用 yiiGridView javascript 函数每 4 秒自动更新一个带有联系人的 gridview(使用 setInterval)。当鼠标悬停在“查看”、“编辑”或“删除”按钮上时,总会出现一个工具提示(我正在使用 yii 引导扩展来为工具提示提供更好的图形设计)。但是,当 ajax 请求更新 gridview 时,工具提示会消失,并且不会在 google chrome 中再次显示,除非我再次移动鼠标。在 Firefox 和 IE 中,工具提示会隐藏,但随后会自动再次显示。如果鼠标继续在与以前相同的位置,我是否可以调用任何函数来强制显示的工具提示再次显示?我想我必须在 yiiGridView 的完整函数中调用这样的函数,对吧?谁能帮帮我吗?

这是我用来自动更新网格视图的 JS 代码:

setInterval(function(){
        $('#contact-grid').yiiGridView('update', {
                data: $(this).serialize(),
                complete: function(jqXHR, status) {

                }
        });
},4000)

非常感谢。

4

1 回答 1

4

您实际上应该在CGridView中使用“afterAjaxUpdate”

/**
 * @var string a javascript function that will be invoked after a successful AJAX response is received.
 * The function signature is <code>function(id, data)</code> where 'id' refers to the ID of the grid view,
 * 'data' the received ajax response data.
 */
public $afterAjaxUpdate;

你可以像这样使用它:

<?php
$this->widget('zii.widgets.grid.CGridView', array(
    'id' => 'mygrid',
    'dataProvider' => $dataprovider,
    'afterAjaxUpdate' => 'function(){$(\'[data-toggle="tooltip"]\').tooltip({ html:true, trigger:\'hover\'})}', // <-- this line does the trick!
    'columns' => array(
        'name',
        'address',
        ...
    ),
));
?>
于 2013-11-19T15:11:49.543 回答