2014-06-11 66 views
1

我是初学者,使用Yii web框架,我想知道为什么这个代码不工作。为什么模态语义ui不工作?

在main.php

<a href="#" onclick="modal()"> test modal</a> 

在的script.js

function modal(){ 
    $.ajax({ 
     url: 'index.php?r=Site/ModalRegister', 
     success: function(){ 
      $('.large.modal').modal('show'); 
     } 

    });   
} 

在siteController.php

public function actionModalRegister(){ 
    $this->renderPartial('//site/ModalRegister'); 
} 

在网站/ ModalRegister.php

<div class="ui large modal">ddd</div> 
+1

什么不起作用? –

+0

我点击链接 test modal,但模态不显示 – user3726932

回答

0

嘛,你这样做

function modal(){ 
    $.ajax({ 
     url: 'index.php?r=Site/ModalRegister', 
     success: function(){ 
      $('.large.modal').modal('show'); 
     } 

    });   
} 

在成功尝试表明,来自AJAX本身<div class="ui large modal">ddd</div>。但在显示之前,您必须将其插入页面的DOM中的某个位置。你应该将其更改为类似

function modal(){ 
    $.ajax({ 
     url: 'index.php?r=Site/ModalRegister', 
     success: function(html){ 
      $("body").append(html); 
      $('.large.modal').modal('show'); 
     } 
    });   
} 
+0

酷!是工作。 非常感谢你:) – user3726932

+0

对不起,我再次遇到问题, 此代码通常工作。当我点击第一次显示模式它通常工作,但是当我点击第二次显示这种模式它的工作,但我不能关闭这种模式。 错误按摩是: >过渡:该动画已经发生,取消重复动画。 如何设置或出现什么错误? – user3726932

+0

没有为响应,没有接受的回应.... –

0

我想是因为没有加载定义功能modal()代码使用Ajax时,你重新呈现页面。

检查当您点击链接但未显示模式时,您的浏览器是否收到JavaScript错误。你可能会这样做。

您需要在局部视图中添加函数定义代码,以便在使用ajax部分渲染视图时,定义函数modal()