2011-02-02 37 views
1

所以我希望我的用戶能夠點擊簡單的模式jquery框中的鏈接,並關閉當前的模式框並打開一個新的內容。單擊鏈接以簡單的模式打開新的簡單模式

到目前爲止,這沒有奏效:

$('#search_dialog_link').click(function() { 
     $("#search_dialog").modal(
      { 
       position: [150,125], 
       minWidth: 400 
      } 
    ); 
});  

$('#create_course_link').click(function() { 
    $.modal.close(); 
    $('#add_course_dialog').modal(
     { 
     position: [150,125], 
     minWidth: 400 
     } 
    ); 
}); 

凡#search_dialog_link,#create_course_link,#search_dialog和#add_course_dialog建立這樣:

<div id="default-content"> 
This is the page where all of your classes and a list of upcoming assignments will be displayed. 
Since you do not have any classes, why not try to add one by clicking the link below.<br><br> 
<center><div id="search_dialog_link">+Add a Course</div></center> 
</div> 
</div> 
<div id="search_dialog"> 
<p>Search for the teacher of your class:</p> 
<form id="searchform"><input type="text" width="200px" size="30" value="" id="inputString" /> 
<div style="font-size: 10; position:relative; bottom:20px; left: 200px;">Dont see it?<div id="create_course_link">Create</div> a new class.</div> 
</form> 
</div> 
<div id="add_course_dialog"> 
<p>Test</p> 
</div> 

注意,#search_dialog框打開正確,當用戶點擊div #create_course_link時,原始模式框關閉。但新的模式框不顯示。我究竟做錯了什麼?

回答

4

v1.4.1有一個「bug」可能導致問題。爲了解決Opera問題,在關閉函數中有一個setTimeout調用。

要解決它,你可以按以下步驟更新您的代碼:因爲他開發的東西自己

$('#create_course_link').click(function() { 
    $.modal.close(); 

    setTimeout(function() { 
     $('#add_course_dialog').modal(
     { 
     position: [150,125], 
     minWidth: 400 
     } 
    ); 
    }, 20); 
}); 
+0

非常感謝!順便跟上項目的偉大工作。 – retnuh 2011-02-03 00:15:29

0

Eric的回答應該工作。但是,這將使簡單的模式消失,並打開一個新模式。這可能不合意。

因爲我是一個瘋狂的架構師(我不認爲自己是程序員,但已經能夠將2 & 2放在一起),所以我在早期使用simpleModal時遇到了這種情況。

要解決它,請創建一個全局變量和全局數組。使用全局變量作爲屏幕指針和全局數組作爲「疊加」的內容。這樣,您將能夠導航回來和第四,而無需關閉模式。

這是我在早期的Clipper早期實現screen-ning(記住它?)。我用Pascal編程(是的,我是一個Pascal程序員......但放棄了它)。

看看這裏:http://clubetititi.com。這是葡萄牙語,但你應該沒有麻煩導航。

祝你好運!

0

這似乎已經在simplemodal 1.4.2中修復了,我建議升級。