4

私はbootstapタブを使用しており、PHPで設定するのではなく、ajaxを介してコンテンツをロードしようとしています。私のコード:

<script type="text/javascript">
   function test(e){
       console.log(e.target);
       //load ajax stuff here
   }
</script>


<?php
$this->widget('bootstrap.widgets.TbTabs', array(
    'type'=>'tabs',
    'placement'=>'above', // 'above', 'right', 'below' or 'left'
    'tabs'=>array(
        array('label'=>'Ogólne', 'content'=>'Czekaj...', 'active'=>true),
        array('label'=>'Książka adresów', 'content'=>'Czekaj...'),
        array('label'=>'Cośtam', 'content'=>'Czekaj...'),
    ),
    'events'=>array('shown'=>'test')
)); ?>

ただし、次のエラーが発生し続けます Uncaught TypeError: Object test has no method 'apply'。オブジェクトを作成しようとしましたが、それでも機能しませんでした。何か案は?

少し説明すると、フレームワークによって作成されたJSコード:

<script type="text/javascript">
/*<![CDATA[*/
jQuery(function($) {
jQuery('a[rel="tooltip"]').tooltip();
jQuery('a[rel="popover"]').popover();
jQuery('#yw0').tab('show');
jQuery('#yw0').on('shown', 'test');
jQuery('#collapse_0').collapse({'parent':false,'toggle':false});
});
/*]]>*/
</script>
4

1 に答える 1

4

これはうまくいくはずです

Javascript:

<script type="text/javascript">
    var test = function(e) {
        console.log(e.target);
        //load ajax stuff here
    }
</script>

TbTabsイベント(接頭辞「js:」)

<?php
...
'events'=>array('shown'=>'js:test'),
....
?>
于 2012-09-25T07:05:12.547 に答える