2010-09-24 28 views
0

我不確定這是否可以完成。在父窗口中,我有以下行,使用jQuery在父窗口中的字段上執行onchange事件

<input type="hidden" name="myField" id="myField" value=""> 

這父窗口將打開一個彈出窗口,它將使用戶能夠做出自己的選擇。在彈出窗口中單擊提交後,它會將選擇分配給父窗口中的myField,然後彈出窗口關閉。

所有這些工作正常。我在父窗口上放置一個臨時鏈接,用於顯示myField的值。在彈出窗口關閉後,我點擊此鏈接並顯示正確的值。

我的問題是,我在父窗口下面的代碼,

$('#myField').change(function(e) { 
    alert("changed!!!"); 
    }); 

警報框將永遠不會顯示,這意味着更改事件不會在父窗口調用。所以,我的問題是,是否有可能在父窗口中捕獲myField上的更改事件?

由於提前, 蒙

+2

? – 2010-09-24 15:53:06

+0

你是如何設法從彈出窗口發送信息的? – Neophile 2015-05-21 09:44:44

回答

1

試試這個:trigger

$('selector for parent window') 
    .find('#myField') 
     .val('new value') 
     .trigger('change'); 
+0

非常感謝!觸發器部分是我所缺少的。 – 2010-09-24 19:03:38

0

您需要您可以張貼在彈出窗口中的腳本使用現場

$('#myField').live("change", function() { 
alert("changed!!!"); 
}) 
+0

這不適合我。 – 2010-09-24 19:00:58

+0

嘗試用.bind替換.live – 2010-09-24 20:33:46

相關問題