我收到错误了
Uncaught TypeError: undefined is not a function jquery.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 :(得分: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=====*/
);
}
})),
));
?>