我一直在尝试使用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;
});
对此有任何想法。让我知道。
干杯。
答案 0 :(得分:1)
在弹出窗口中包含此内容:
$cs = Yii::app()->clientScript;
if (Yii::app()->request->isAjaxRequest) {
$cs->scriptMap['jquery.js'] = false;
}
这将确保在您打开弹出窗口时不会重新加载jquery。如果没有这行,jquery将再次加载,它将失去以前的设置函数和方法,如.modal()