1

似乎我无法让 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,它应该加载。

有什么我想念的吗?

4

1 回答 1

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);
    }
});
于 2013-11-10T19:39:32.487 回答