2014-05-17 36 views
0

我收到错误
Uncaught TypeError: undefined is not a function jquery.yiigridview.jscgridview中的ajaxlink;错误未定义是不是在yiigridview.js功能

我尝试了好几种方法,但我不认为我正确地做这个。 我目前有:

$this->widget ('bootstrap.widgets.TbGridView', array (
    'type' => 'condensed', 
    'id'=>'inq', 
    'dataProvider' => $dataProvider, 
    'template' => '{items}{pager}', 
    'columns' => array (
     array(
     'header'=>'', 
     'type'=>'raw', 
     'htmlOptions'=>array('style'=>'width:30px'), 
     'value'=>function($data,$row){ 
     if($data->message_target_read == "Read") 
     return CHtml::ajaxLink('<img src="'.Yii::app()->baseUrl.'/images/site/star-read.png">', 
        Yii::app()->createUrl("controller/action", array("id"=>$data->id)), 
        array("complete"=>"function(){ 
        $.fn.yiiGridView.update('inq', { 
        type: 'POST', 
        url: $(this).attr('href'), 
        success: function() { 
        $.fn.yiiGridView.update('inq');} 
        });return false;}")); 

我也尝试过使用chtml::link一类,并得到Yii::app()->clientScript->registerCoreScript('class'但保留重定向整个页面。我也尝试过这样做

CHtml::ajaxLink("<img>",Yii::app()->createUrl("controller/action", array("id"=>$data->id)),array( 
type: 'POST', 
url: $(this).attr('href'), 
success: function() { 
$.fn.yiiGridView.update('inq'); 
           } 

回答

0

你错过的CHtml::ajaxLink()结构。您已在自定义ID array("id"=>$data->id))后关闭它。这可能会导致功能失败。

请检查以下结构。

<?php 
$dataProvider = new CActiveDataProvider('FlightSearch'); 
$this->widget('bootstrap.widgets.TbGridView', 
array(
    'type' => 'striped bordered condensed', 
    'id' => 'inq', 
    'dataProvider' => $dataProvider, 
    'template' => "{items}{pager}", 
    'columns' => 
    array 
    (
     array('name' => 'column1', 'header' => 'Column Title'), 
     array 
     (
      'header' => '', 
      'type' => 'raw', 
      'htmlOptions' => array('style' => 'width:30px'), 
      'value' => function($data, $row) 
      { 
       if($data->message_target_read == "Read") 
       { 
        return CHtml::ajaxLink('a link', 
        Yii::app()->createUrl("controller/action", 
        array("id" => $data->id), 
        array("complete" => "function() 
        { 
          /*=====Your jQuery functionality start=====*/ 
          $.fn.yiiGridView.update('inq', { 
          type: 'POST', 
          url: $(this).attr('href'), 
          success: function() 
          { 
           $.fn.yiiGridView.update('inq'); 
          } 
          });return false;}")) 
          /*=====Your jQuery functionality end=====*/ 
        ); 
       } 
      })), 
)); 
?> 
+0

哦,我感觉很傻。谢谢! – JamAndJammies

+0

其实我仍然有这个问题。未定义不是一个函数。它发送数据,但yiigridview无法刷新该错误。 – JamAndJammies