如何在CgridView-Yii中获取cstarting
我怎样才能让每一行都有一个星号。我想显示当前的星号,如果用户想更新星号,他可以点击更新 我的错误是未定义的$data gridview:如何在CgridView-Yii中获取cstarting,yii,Yii,我怎样才能让每一行都有一个星号。我想显示当前的星号,如果用户想更新星号,他可以点击更新 我的错误是未定义的$data gridview: ... 'columns'=> ... array ( 'name' => 'star', 'type' => 'raw', 'value'=>'$this->grid->controller->widget("CStarRating", array("starC
...
'columns'=>
...
array (
'name' => 'star',
'type' => 'raw',
'value'=>'$this->grid->controller->widget("CStarRating",
array("starCount"=>"5",
"minRating"=>"1",
"maxRating"=>"5",
"ratingStepSize"=>"1",
"allowEmpty"=>false,
"name"=>"rating".$data->id,
"callback"=>"function(){
url = "controller/action";
jQuery.getJSON(url, {id: "$data->id", val: $(this).val()},
function() {
if (data.status !== "success"){
alert("error");
}});}",),true)',
),
在我看来,你的报价太多了。变化
'value'=>'$this->grid->controller->widget("CStarRating",
到
试试这个:
array (
'name' => 'star',
'type' => 'raw',
'value'=>'$this->grid->controller->widget("CStarRating",
array("starCount"=>"5",
"minRating"=>"1",
"maxRating"=>"5",
"ratingStepSize"=>"1",
"allowEmpty"=>false,
"name"=>"rating".$data->id,
"callback"=>"function(){
url = "controller/action";
jQuery.getJSON(url, {id: \'.$data->id.\', val: $(this).val()},
function() {
if (data.status !== "success"){
alert("error");
}});}",),true)',
),
如果我添加回调,星星不会出现。。。不确定是什么问题。我的意思是,在您的应用程序中,这个错误发生在哪里?回调中的引号转义错误。回调中的所有引号都应该转义。
'value'=> function($data){
$controller = Yii::app()->getController();
return $controller->widget("CStarRating",
array("starCount"=>"5",
"minRating"=>"1",
"maxRating"=>"5",
"ratingStepSize"=>"1",
"allowEmpty"=>false,
"name"=>"rating".$data->id,
"callback"=>'function(){
url = "controller/action";
jQuery.getJSON(url, {id: "'.$data->id.'", val: $(this).val()},
function() {
if (data.status !== "success"){
alert("error");
}});}',),true);
},
array (
'name' => 'star',
'type' => 'raw',
'value'=>'$this->grid->controller->widget("CStarRating",
array("starCount"=>"5",
"minRating"=>"1",
"maxRating"=>"5",
"ratingStepSize"=>"1",
"allowEmpty"=>false,
"name"=>"rating".$data->id,
"callback"=>"function(){
url = "controller/action";
jQuery.getJSON(url, {id: \'.$data->id.\', val: $(this).val()},
function() {
if (data.status !== "success"){
alert("error");
}});}",),true)',
),