2012-05-09 11 views
-1

JQUERY UIを使用していますが、問題があります。私は、ダイアログボックスでボタンを選択し、私のページで何かをしたいです。これらは、私は、ダイアログを生成するために使用するコードです:Jquery UIダイアログで、選択したOKボタンまたはキャンセルボタンを知りたい

<script type="text/javascript"> 
     $(function(){ 

      // Dialog 
      $('#dialog').dialog({ 
       resizable: false, 
       autoOpen: false, 
       width: 300, 
       height: 140, 
       modal: true, 
       buttons: { 
        "Ok": function() { 
         $(this).dialog("close"); 
        }, 
        "Cancel": function() { 
         $(this).dialog("close"); 
        } 
       } 
      }); 

      // Dialog Link 
      $('#dialog_link').click(function(){ 
       $('#dialog').dialog('open'); 
       return false; 
      }); 

     }); 
    </script> 
<body> 
    <a href="#" id="dialog_link">Open Dialog</a> 
    <!-- ui-dialog --> 
    <div id="dialog" title="Dialog Title"> 
     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit</p> 
    </div> 
</body> 
+0

「したい」とは何ですか? – j08691

答えて

2

あなたがボタンに関連する機能を呼び出して、あなたの$(this).dialog("close");ラインのそれぞれに従うことができます。ダイアログには、各ボタンごとに2回、それぞれ別の関数呼び出しが続くように、行が2回閉じています。

-1

よくjQueryは、基本的にどのボタンが押されているかを認識します。したがって、ダイアログの作成中に、各ボタンのクリックされたイベントで実行されるアクションを指定します。

あなたはそうのように、特定の関数を呼び出すか、直接コード行を記述することができます。

buttons: { 
    "Ok": function() { 
     $(this).dialog("close"); 
     console.log("Inline code example"); 
     myOkFunction(); 
    }, 
    "Cancel": function() { 
     $(this).dialog("close"); 
     myCancelFunction(); 
    } 
} 

function myOkFunction(){ 
    //Something that will happen on "Ok" button clicked. 
} 

function myCancelFunction(){ 
    //Something that will happen on "Cancel" button clicked. 
} 

あなたは、しかし、コードを変更することができますので、のようなウィジェットオプションを呼び出すことにより、実行中に、実行される。

$(yourDialog).dialog("option","buttons",{ 
    "Ok":function(){ 
     var i = 0; //Inline code example 
     this.Dialog("close"); 
     myNewOkFunction();  
    } 
}); 

これはダイアログのすべてのボタンをオーバーライドするので注意してください。複数のボタンがある場合は、すべてを書き直す必要があります。

+0

なぜこれが下落したのですか? –

関連する問題