在Yii中使用Ajax响应和显示更新模式弹出窗口

时间:2014-03-24 06:25:19

标签: jquery yii

我一直在尝试使用html数据渲染模式弹出并显示弹出窗口。我使用ajax从控制器获取数据,现在想要更新模态并显示它。第一次正确显示数据并且模态显示但下次不显示相同的模态。而是抛出一个错误:

Object [object Object] has no method 'modal' 

以下是我的代码:

链接以触发ajax调用:

<a data-toggle="modal" href="#" class="open-edituser btn default btn-xs green-stripe">EDIT</a>

模态弹出

<div id="edituser" class="modal fade" tabindex="-1" data-width="760">
<div class="modal-body">
<div id="modal-data"></div>
</div>
<div class="modal-footer">
<button type="button" data-dismiss="modal" class="btn btn-default"><?php echo   Yii::t('user', 'Close'); ?></button>
</div>
</div>
来自AJAX Call的

响应

$(document).on("click", ".open-edituser", function() {
    $.ajax({
        type: "GET",
        url: $(this).attr('href'),
        success: function(data) {
            $('#edituser').modal('show');
    $('#modal-data').html(data);
        }
    });
    return false;
});

对此有任何想法。让我知道。

干杯。

1 个答案:

答案 0 :(得分:1)

在弹出窗口中包含此内容:

$cs = Yii::app()->clientScript;
if (Yii::app()->request->isAjaxRequest) {
    $cs->scriptMap['jquery.js'] = false;
}

这将确保在您打开弹出窗口时不会重新加载jquery。如果没有这行,jquery将再次加载,它将失去以前的设置函数和方法,如.modal()