【发布时间】:2016-02-20 17:56:41
【问题描述】:
假设我们有这些 Django 模型:
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值。
每次select 值发生变化时,我们都会运行一些 JavaScript。它当前正在侦听所述元素的change 事件,当用户直接在select 建议的菜单中单击一个值时,它可以正常工作。
遗憾的是,当这个select 通过管理弹出功能填充时,似乎change 事件没有为select 触发,因为我们的回调没有被执行,即使元素的值实际上已经改变了。
是否有另一个事件我们可以监听以获得与用户直接从列表中单击一个值时相同的行为?
【问题讨论】:
标签: javascript django django-admin dom-events