2011-02-02 16 views
1

シンプルなモーダルjqueryボックス内のリンクをクリックして現在のモーダルボックスを閉じ、新しいコンテンツで新しいものを開くようにします。シンプルなモーダルでリンクをクリックして新しいシンプルなモーダルを開きます

これまでのところ、これは働いていない:

#search_dialog_link、#create_course_link、#search_dialog、および#add_course_dialogがこのように確立されている
$('#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 
     } 
    ); 
}); 

<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に「バグ」があります。 Operaの問題を解決するには、close関数にsetTimeout呼び出しがあります。

は、次のようにあなたのコードを更新することができ、それを回避するには:彼は彼自身のものを開発したので、

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

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

ありがとうございました。ところで、プロジェクトの偉大な作業を続けてください。 – retnuh

0

エリックの答えは動作するはずです。しかし、それは単純なモーダルを消滅させ、新しいモーダルを開くようにします。それは望ましくないかもしれません。

シンプルモーダルの私の初期の使用で、私は狂ったアーキテクトなので、私はその状況に遭遇しました(私は自分自身をプログラマだとは考えていませんが、2 & 2をまとめることができました)。

回避するには、グローバル変数とグローバル配列を作成します。画面へのポインタとしてグローバル変数を使用し、オーバーレイの内容としてグローバル配列を使用します。そうすることで、モーダルを閉じる必要なく、前後にナビゲートすることができます。

これは私の初期のClipperの初期のスクリーンネッキングの実装でした(思い出していますか?)。私はPascal Programmingでそれを使用しました(はい、私はPascalのプログラマでした...しかしそれを放棄しました)。

ここをクリックしてください:http://clubetititi.comそれはポルトガル語ではありますが、周りをナビゲートするのに困ることはありません。

幸運を祈る!

0

これはsimplemodal 1.4.2で修正されているようですが、アップグレードをお勧めします。