2011-11-23 60 views
0

我想要做的是打開jquery對話框,它工作得很好。它會加載在頁面上加載的內容。製作一個選擇單擊確定按鈕並將選擇存儲到隱藏的變量中。直到這一點,一切正常。jquery對話框傳給父值

現在一旦對話框關閉,我想立即觸發該隱藏表單變量上的事件。請指教。

使對話被稱爲像這樣

$('#dialog').dialog({ 
      dialogClass: 'no-close', 
      resizable: false, 
      draggable: false, 
      modal: true, 
      width: 900, 
      buttons: { 
       "OK": function(){ 
        $(this).dialog("close"); 
        var temp = $("#name").val(); 
        var temp2 = $("#id").val(); 
        $("#" + val1).val(temp); 
        $("#" + val2).val(temp2); 

         $("#hiddenID").change(); 


       }, 
       "Cancel": function(){ 
        $(this).dialog("close"); 



       } 
      } 
     }); 

形式

對我有這樣的

$("#hiddenID").change(function(){ 
     // alert($("#hiddenID").val()); 
     }).change(); 
+0

那麼是什麼問題?這應該起作用,即當點擊「確定」按鈕時應該調用您的更改事件。除非您忘記聲明'val1'和'val2',在這種情況下,會在$(「#hiddenID」)。change();'行到達之前引發異常。 – Cito

+0

well val1 and val2 is passed,but not not get $(「#hiddenID」)。change(function(){ // alert($(「#hiddenID」).val()); })。change (); –

+0

你確定嗎?嘗試評論2行。另外,由於您在更改處理程序中註釋了警報,因此如何知道它未被調用? – Cito

回答

0

添加關閉功能,以您的對話框。當它結束時,它會觸發任何你想要的。

$('#dialog').dialog({ 
      dialogClass: 'no-close', 
      resizable: false, 
      draggable: false, 
      modal: true, 
      width: 900, 
      buttons: { 
       "OK": function(){ 
        $(this).dialog("close"); 
        var temp = $("#name").val(); 
        var temp2 = $("#id").val(); 
        $("#" + val1).val(temp); 
        $("#" + val2).val(temp2); 

         $("#hiddenID").change(); 


       }, 
       "Cancel": function(){ 
        $(this).dialog("close"); 



       } 
      }, 
      close: function(event, ui){ 
      //whatever you want to happen on close - regardless of how the dialog is closed 
      } 
     });