0
    <?php $this->widget('bootstrap.widgets.TbButtonGroup', array(
    'type'=>'success', 
    'buttons'=>array(
        array('label'=>'Action', 'url'=>'#'),
        array('items'=>array(
            array(
                'label'=>'set approved',
                'url'=>$this->createUrl('controller/dostuff'),
                'buttonType'=>'ajaxButton',
                'ajaxOptions'=>array(
                      'beforeSend' => 'function( request ) {
                          alert(request);
                        }'
                      ,
                      'success' => 'function( data ) {
                          alert(data);
                        }'
                      ,
                  ),
            ),
            array('label'=>'set blocked', 'url'=>'#', 'buttonType' => 'ajaxLink'),
            array('label'=>'set pending', 'url'=>'#', 'buttonType' => 'ajaxLink'),

        )),
    ),
)); ?>

我尝试了很多,但我无法让它工作..我想在按钮组的第一个按钮上使用 yiis ajax 行为..我什至没有收到 javascript 错误或任何东西..只要我点击链接它就会将我重定向到 url - 根本没有ajax。也许你有一个想法

4

1 回答 1

0

我在 TbButton 文件中看到,参见run()方法:

public function run()
{
    echo $this->createButton();

    if ($this->hasDropdown())
    {
        $this->controller->widget('bootstrap.widgets.TbDropdown', array(
            'encodeLabel'=>$this->encodeLabel,
            'items'=>$this->items,
            'htmlOptions'=>$this->dropdownOptions,
        ));
    }
}

如果按钮包含在项目中,它将实例化 TbDropdown,而不是 TbButton;所以buttonTypeajaxOption你试图提供的都是无用的。

您可以选择其他解决方案来替换此解决方案。您可以为每个项目设置 id 并编写 javascript 来手动执行 ajax。

于 2013-07-17T15:00:27.307 回答