无法使用TbModal小部件在主体内加载远程URL

时间:2013-11-10 06:40:00

标签: twitter-bootstrap yii modal-dialog yii-extensions

似乎我无法获取TbModal小部件来加载远程URL(另一个控制器/视图组合)。

这是创建模态的视图:

<?php $this->beginWidget('bootstrap.widgets.TbModal', array('id'=>'myModal')); ?>

<div class="modal-header">
    <a class="close" data-dismiss="modal">&times;</a>
    <h4>Client Ticket Log</h4>
</div>

<div class="modal-body">

</div>

<div class="modal-footer">
    <?php $this->widget('bootstrap.widgets.TbButton', array(
        'type'=>'primary',
        'label'=>'Save changes',
        'url'=>'#',
        'htmlOptions'=>array('data-dismiss'=>'modal'),
    )); ?>
    <?php $this->widget('bootstrap.widgets.TbButton', array(
        'label'=>'Close',
        'url'=>'#',
        'htmlOptions'=>array('data-dismiss'=>'modal'),
    )); ?>
</div>

<?php $this->endWidget(); ?>

<?php $this->widget('bootstrap.widgets.TbButton', array(
    'label'=>'Click me',
    'type'=>'primary',
    'url'=> array('clientticketlog/create', 'ticket_id'=>$model->id),
    'htmlOptions'=>array(
        'data-toggle'=>'modal',
        'data-target'=>'#myModal',
    ),
)); ?>

据我从文档中了解到,如果在调用模态的链接中提供了href属性,jQuery将在模态体中加载该地址的内容。

但它没有,身体仍然是空的。我已经通过在单独的选项卡中打开它来检查我正在尝试加载的URL,并按原样加载。

有什么我想念的吗?

1 个答案:

答案 0 :(得分:0)

@Manquer是对的。 href没有填充模态。如果模态的内容没有改变,他的建议是有效的。但是,如果要为不同的视图重用相同的模态,则需要使用javascript,例如:

$("a[data-toggle=modal]").click(function(){
    var target = $(this).attr('data-target');
    var url = $(this).attr('href');
    if(url){
        $(target).find(".modal-body").load(url);
    }
});