讓我們想象一下,我們有那些Django模型:當Django Admin Popup(綠色加號圖標)完成時,是否有事件或其他方式調用Javascript函數?
class Band(models.Model):
name = models.CharField(max_length=256, default="Eagles of Death Metal")
class Song(models.Model):
band = models.ForeignKey(Band)
當使用管理員來管理這些模型中,band
場關聯到由Django的呈現爲select
HTML元素Widget
。
Django的管理還增加了一個綠色加號圖標旁邊select
,單擊它以打開該用戶呈現的Form
添加一個新的樂隊的彈出窗口。在彈出窗口中單擊保存按鈕時,新的波段名稱將保存在數據庫中,並自動分配給select
值。
我們依靠一些javascript來運行每次select
值的變化。它當前正在聆聽所述元素的change
事件,當用戶直接點擊select
提出的菜單中的值時,該事件正常工作。
可悲的是,當這select
通過管理彈出功能稀少,似乎change
事件不會觸發針對select
,如不執行我們的回調,即使元素的值實際上改變。
是否有另一個事件,我們可以聽到以獲得相同的行爲,當用戶直接從列表中單擊值時?
這是我貼到Django的用戶郵件列表同樣的答覆,但堆棧溢出是使用或討論此代碼段一個更好的地方。以下是討論主題:https://groups.google.com/d/msg/django-users/7sIM2-9XirY/d6Yr5_fFBwAJ –
非常感謝您,這允許您實現該功能。我們使用的是** Django 1.8 **,它只需要兩個小小的改動:'dismissAddAnotherPopup'應該重命名爲'dismissAddRelatedObjectPopup',它應該(並且轉發)一個額外的參數('newRepr')。 –
打開[與Django管理彈出窗口相關的另一個問題](http://stackoverflow.com/q/33941944/1027706),以防萬一你有線索? –