4

我正在使用bootstap tabs,我试图通过 ajax 加载内容,而不是在 PHP 中设置它。我的代码:

<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 回答