在我的Web应用程序中,我需要使用javascript实现编辑按钮的对话框 和ajax。我的代码适用于ajax但我想显示用于编辑记录的对话框。 我的代码
$this->widget ( 'zii.widgets.grid.CGridView', array (
'id' => 'store-grid',
// 'itemsCssClass' => 'table-bordered items',
'dataProvider' => $model->search (),
'filter' => $model,
'columns' => array(
'id',
'store_name',
'is_deleted',
array(
'class' =>'CButtonColumn',
'class'=>'CButtonColumn',
'deleteConfirmation'=>"js:'Do you really want to delete record with Store name '+$(this).parent().parent().children(':nth-child(2)').text()+'?'",
'template'=> '{view}{update}{delete}',
'buttons'=>array
(
'view'=>
array(
'options'=>array(
'ajax' =>array(
'type' =>'POST',
'url' => "js:$(this).attr('href')",
'update' => '#id_view',
),
),
),
'update'=> array
(
'options' =>array(
'ajax' =>array(
'type' =>'POST' ,
'url' =>"js:$(this).attr('href')",
'click' =>"function(){alert("js:$(this).attr('href')"}",
'update'=>'#id_view',
),
),
),
),
),
),
)
);
?>
<div id="id_view"></div>
如果我使用click函数然后在“alert”函数中给出url,我会收到错误。有什么方法可以在javascript函数中使用“($ this)”来提供对象的详细信息正常。任何身体帮我这个我无法继续。我在这行代码中遇到错误
'click' =>"function(){alert("js:$(this).attr('href')"}",
我应该如何使用javascript实现这一点? 这是小部件的html输出
<div class="span-19">
<div id="content">
<ul class="breadcrumb"><li><a href="/stores2/"><i class="icon-home"></i></a><span class="divider">/</span></li><li><a href="#">manage</a><span class="divider">/</span></li><li><a href="index">Stores</a><span class="divider">/</span></li></ul>
<div id="dialogUpdatestore">
<div class="divStore"></div>
</div>
答案 0 :(得分:0)
变化
'click' =>"function(){alert("js:$(this).attr('href')"}",
到
'click' =>"js:function(){alert("$(this).attr('href')"}",
或者这不确定:D
'click' =>"function(){alert("$(this).attr('href')"}",
答案 1 :(得分:0)
我想你可能会把你的引号混淆了。尝试将其更改为:
'click' =>"function(){alert($(this).attr('href')}",