【问题标题】:Yii Create a like button using controller actionYii 使用控制器动作创建一个赞按钮
【发布时间】:2013-12-24 20:40:34
【问题描述】:

我正在使用 Yii 框架 1.1 构建一个网站,并且我正在实现一个部分,其中我有一个与每个帖子相关联的点赞按钮。我想在每次点击它时更新点赞按钮文本的内容而不刷新页面?请帮忙?

编辑 我做了这个 `身份证; $foo = $data->喜欢; echo CHtml::ajaxbutton($foo.' '.'喜欢', array('post/like/'.$id), 大批( '类型'=>'POST', '成功'=>'js:function(data){ $.fn.yiiAjaxButton.update("label");}') );

?>` 还是不行

【问题讨论】:

  • 你尝试了吗?!
  • 嗯,AJAX 可以轻松解决这个问题。你有这方面的背景知识吗?
  • @sємsєм 我试过这个叫做渲染和渲染部分的东西,现在不走运了,喜欢按钮链接到一个控制器动作,它只有在页面刷新时才会更新。跨度>

标签: php jquery yii


【解决方案1】:

您的视图应该如下所示

    <?php
    $postId = 1; //Your post id
    echo CHtml::Button('SUBMIT', array('onclick' => 'getComments(this);', 'data-value' => $postId, 'value' => 'Get Comments'));
    ?> 

然后编写你的 Ajax 调用类似

    <script type="text/javascript">
        function getComments(obj)
        {
            $PostID = $(obj).data('value');
            $.get('Controller/YourMethod', {id:$PostID}, function(dataJSON)
            {
                  //Get data in JSON formate
            },'JSON');
        }
    </script>

编辑

如果你想直接在你的按钮上添加 Ajax 调用,你可以这样做

    <?php
    $postId = 1;
    echo CHtml::Button('SUBMIT', array('value' => 'Get Comments','onclick' => ''
        . '$.get("Controller/YourMethod", {id:'.$postId.'}, function(dataJSON)
            {
                  //Do what ever you want here
            },"JSON");'));
    ?> 

【讨论】:

  • Hearaman - హేరామన్ 有没有办法避免编写 javascript 代码,而是使用 ajaxButton 来完成
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-15
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多