首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

yii_wiki_204_using-cjuidialog-to-edit-rows-in-a-cgridview(经过CJuiDialog在CGridView

2013-09-12 
yii_wiki_204_using-cjuidialog-to-edit-rows-in-a-cgridview(通过CJuiDialog在CGridView中修改行数据)/**

yii_wiki_204_using-cjuidialog-to-edit-rows-in-a-cgridview(通过CJuiDialog在CGridView中修改行数据)

/***Using CJuiDialog to edit rows in a CGridView  http://www.yiiframework.com/wiki/204/using-cjuidialog-to-edit-rows-in-a-cgridviewtranslated by php攻城师http://blog.csdn.net/phpgcsScenarioSolutionColumn hyperlinkJavascript function**//***背景Scenario***/ 我这里有一个 一系列的 clients/events 所属的 CGridView , 对每一行 (eventClient), 我想要实现快速的编辑 eventClient对话框。我的方法基于 这篇wiki http://www.yiiframework.com/wiki/145/cjuidialog-for-create-new-model//***解决方法  Solution ***/首先基于 wiki 145 做了所有工作后, 再来 修改我们 的CGridView:Column hyperlink 对每一列 , 在js 函数中设置 _updateComment_url 属性 为需要的 url。array(    'name'=>'comment',    'header'=>'Comments',    'type'=>'raw',    'value'=>'CHtml::link(        ($data["comment"]?$data["comment"]:"(comment)"),        "",        array(            \'style\'=>\'cursor: pointer; text-decoration: underline;\',            \'onclick\'=>\'{                updateComment._updateComment_url="\'.                    Yii::app()->createUrl(                        "eventClient/updateComment",                        array("id"=>$data["id"])                    )                .\'";                updateComment();                $("#dialogComment").dialog("open");}\'            )        );',),Javascript function 在同一个页面我们将 调用这个 动作的 updateComment() 方法包含进来。 <script type="text/javascript"> function updateComment(){    // public property    var _updateComment_url;     <?php echo CHtml::ajax(array(        'url'=>'js:updateComment._updateComment_url',        'data'=> "js:$(this).serialize()",        'type'=>'post',        'dataType'=>'json',        'success'=>"function(data)            {                if (data.status == 'failure')                {                    $('#dialogComment div.divComment').html(data.div);                    // Here is the trick: on submit-> once again this function!                    $('#dialogComment div.divComment form').submit(updateComment);                }                else                {                    $('#dialogComment div.divComment').html(data.div);                    setTimeout(\"$('#dialogComment').dialog('close') \",2000);                     // Refresh the grid with the update                    $.fn.yiiGridView.update('event-client-grid');                }         } ",    ))?>;    return false; } </script>

热点排行