yii中标题菜单栏中的动态网址

时间:2014-02-04 09:24:23

标签: php yii yii-components yii-events

我是yii的新手。在我的项目中,我想通过Cmenu

传递参数
 array('label' => 'Category', 'url' => array('site/catagory', 'visible' => !Yii::app()->user->isGuest),

并且参数传递来自droupdown列表,该列表也在droupdownlist的导航条形码中

  $site = Site::model()->findAll();  
  $data = CHtml::listData($site, 'id', 'type');  
  echo $form->dropDownList($siteid, 'selectedsiteid', $data, array('class' => "form-control"));

位于菜单栏之后。请有人帮助我。
提前谢谢......

2 个答案:

答案 0 :(得分:0)

我用javascript解决了它,菜单按钮代码为
array('label' => 'Category', 'url' => '#','linkOptions'=>array('onclick'=>'getsid()'),'visible' => !Yii::app()->user->isGuest),

并称为java脚本

function getsid()
{
$sid=$('#Site_selectedsiteid').val();
window.location.href = window.location.pathname.substring( 0, window.location.pathname.lastIndexOf( '/' ) + 1 ) + 'catagory?sid=' + $sid;
}

答案 1 :(得分:0)

不建议使用onclick +全局函数/变量。随着时间的推移,事情会变得混乱。

使用jQuery稍微优雅的解决方案。了解逻辑如何与视图分离。


PHP:

array(
    'label' => 'Category',
    'url' => '#',
    'linkOptions' => array( 'id' => 'menu-link' ),
    'visible' => ! Yii::app( )->user->isGuest
),


使用Javascript:

$( document ).ready(
    function ( )
    {
         $( '#menu-link' ).click(
             function ( )
             {
                 var sid = $( '#Site_selectedsiteid' ).val( );
                 var currentURL = window.location.pathname;
                 var newUrl = currentURL.substring( 0, currentURL.lastIndexOf( '/' ) + 1 );
                 window.location.href = newUrl + 'category?sid=' + sid;
             }
         );
     }
);