javascript - 如何使用“更改”事件侦听器获取选择选项元素的 ID?
问题描述
我是 javascript 新手,我一直在从事这个“项目”,但我需要一些帮助,因为我被困住了。我可能没有在标题中正确表达自己,所以这里是:
我想<select> <option id="#"> </select>
通过使用"change"
事件侦听器来获取选项元素 () 的 ID 所以当我从 select<select>.
例如选择时,我希望该更改触发一个函数,该函数将获取该元素的 ID 并使用它下面的一个功能。这是我到目前为止的代码,它基本上执行以下操作:"Action"
dropdown
1.) 获取流派列表;
2.) 然后对于 中的每个项目response.data.genres
,设置一个与数组长度相对应的数字(总共 19 个项目)。
3.) 如果所选"option"
元素与数组中的流派名称匹配,则它定义流派 ID(整数)并向 API 发出另一个请求,以列出与该流派 ID 匹配的电影。提前致谢。
//Genres
function genres(){
//API request.
axios.get("https://api.themoviedb.org/3/genre/movie/list?api_key=<API_KEY>&language=en-US")
.then((response)=>{
//console.log(response);
let genres = response.data.genres;
genres.length;
console.log(genres)
for(var i = 0; i < genres.length; i++){
var genresId = response.data.genres[i];
var tag = document.getElementById("Thriller");
console.log(genresId);
if(tag.id === genresId.name){
let genre = genresId.id;
axios.get("https://api.themoviedb.org/3/discover/movie?api_key=<API_KEY>&language=en-US&sort_by=popularity.desc&include_adult=false&include_video=false&page=1&with_genres="+genre)
.then((response)=>{
console.log(response);
})
}
}
})
}
解决方案
以下代码将查找一个<select>
(确切地说是其 id)元素,并在更改时输出 Direct Child 的 ID(<option>
在本例中)。
$(document).ready(function(){
$("#myDropdown").on("change", function(){
the_id = $(this).children(":selected").attr("id")
$("#output").html(the_id);
});
});
我为你做了一个例子 > JS Fiddle
希望您可以使用 jQuery 代码。
推荐阅读
- ant - 具有标签列表时更新 xml 文件的 Ant 任务
- html - 根据开始和结束日期过滤 Angular 6 项目
- reactjs - 那是什么样的组件初始化?
- video - 以编程方式控制 DirectVobSub 过滤器
- c# - 使用 CAML 查询按列表名称一次从多个共享点列表中获取项目,无需任何连接操作
- javascript - 不使用 MomentJS 将日期转换为不同的时区
- powerbi - Power BI折线图显示weekinmonth
- java - 即使我分配给带有元素的数组列表,我的数组列表仍然是空的?
- android - 反应原生 fbsdk 不适用于 Facebook 应用程序
- python - 尝试使用 Jira Python API 获取数据时出现错误 [AttributeError: 'bool' object has no attribute 'error']