无法在 Select 框更改时触发事件
Can't Get Event To Fire On Select Box Change
我在这个页面上有一个成功触发的 $(document).ready(function()
函数(所以我的 javascript 正在成功加载)。
我试图在 select 框更改时触发事件,但根本无法触发(即使我将其设为点击事件)。这是在 Django Admin 中,所以我不能轻易地向元素添加 id
(我相信这并不难,但我找不到方法)。
这是我要监听的元素:
<select name="base_module" required="" id="id_base_module">
这些是我尝试过的一些东西:
var test = document.querySelector('[name="base_module"]');
$(test).click(function(){
console.log("success")
});
$('#id_base_module').click(function(){
console.log("success")
});
$('select#id_base_module').change(function(){
console.log("success")
});
我已经在我的 Django 管理页面中添加了我的 javascript 文件,并在关联的 admin.py 文件中的正确模型下使用此代码:
class Media:
js = (
'js/javascript.js',
)
任何帮助在此元素上设置事件侦听器,当 select 框中的项目更改时将被触发,我们将不胜感激。
谢谢。
您肯定想使用 change
事件,而不是 click
事件。
这个:
$('#id_base_module').change(function(){
console.log("success")
});
对我有用(与您在第三种方法中已有的相比变化不大)。您的第一种方法也适用,只需将其更改为使用 change
事件而不是 click
.
原来我不得不使用以下内容:
$(document).on('change', '#id_base_module', function(event) {
由于'dynamically created content'。
感谢 trincont 在 中的回答。
我在这个页面上有一个成功触发的 $(document).ready(function()
函数(所以我的 javascript 正在成功加载)。
我试图在 select 框更改时触发事件,但根本无法触发(即使我将其设为点击事件)。这是在 Django Admin 中,所以我不能轻易地向元素添加 id
(我相信这并不难,但我找不到方法)。
这是我要监听的元素:
<select name="base_module" required="" id="id_base_module">
这些是我尝试过的一些东西:
var test = document.querySelector('[name="base_module"]');
$(test).click(function(){
console.log("success")
});
$('#id_base_module').click(function(){
console.log("success")
});
$('select#id_base_module').change(function(){
console.log("success")
});
我已经在我的 Django 管理页面中添加了我的 javascript 文件,并在关联的 admin.py 文件中的正确模型下使用此代码:
class Media:
js = (
'js/javascript.js',
)
任何帮助在此元素上设置事件侦听器,当 select 框中的项目更改时将被触发,我们将不胜感激。
谢谢。
您肯定想使用 change
事件,而不是 click
事件。
这个:
$('#id_base_module').change(function(){
console.log("success")
});
对我有用(与您在第三种方法中已有的相比变化不大)。您的第一种方法也适用,只需将其更改为使用 change
事件而不是 click
.
原来我不得不使用以下内容:
$(document).on('change', '#id_base_module', function(event) {
由于'dynamically created content'。
感谢 trincont 在