search
Homephp教程php手册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-cgridview 
 
translated by php攻城师 
 
http://blog.csdn.net/phpgcs 
 
Scenario 
Solution 
Column hyperlink 
Javascript 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(  
        &#39;url&#39;=>&#39;js:updateComment._updateComment_url&#39;,  
        &#39;data&#39;=> "js:$(this).serialize()",  
        &#39;type&#39;=>&#39;post&#39;,  
        &#39;dataType&#39;=>&#39;json&#39;,  
        &#39;success&#39;=>"function(data)  
            {  
                if (data.status == &#39;failure&#39;)  
                {  
                    $(&#39;#dialogComment div.divComment&#39;).html(data.div);  
                    // Here is the trick: on submit-> once again this function!  
                    $(&#39;#dialogComment div.divComment form&#39;).submit(updateComment);  
                }  
                else  
                {  
                    $(&#39;#dialogComment div.divComment&#39;).html(data.div);  
                    setTimeout(\"$(&#39;#dialogComment&#39;).dialog(&#39;close&#39;) \",2000);  
   
                    // Refresh the grid with the update  
                    $.fn.yiiGridView.update(&#39;event-client-grid&#39;);  
                }  
   
        } ",  
    ))?>;  
    return false;  
   
}  
   
</script>  



Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft