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,
        ));
    }
}

ボタンが項目に含まれている場合、TbButton ではなく、TbDropdown のインスタンスになります。だからbuttonTypeajaxOptionあなたが提供しようとしたのは無駄です。

このソリューションを置き換える別のソリューションを選択できます。各アイテムにidを設定し、javascriptを書いてajaxを手動で行うことができます。

于 2013-07-17T15:00:27.307 に答える