2014-06-11 31 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()