html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

yii_wiki_204_using-cjuidialog-to-edit-rows-in-a-cgridview(通过CJuiDialog在CGridView中修改行数据)_PHP教程_编程技术

[ ] 已经帮助:人解决问题
/*** 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(          '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>  
iDnHTML5中文学习网 - HTML5先行者学习网
iDnHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助