为动态创建的下拉列表添加单击功能
Adding on click functionality to a dynamically created dropdown list
我有一个从数组创建下拉列表的函数
function populateDropdown(){
var select = document.getElementById("dropdownList");
var array = ["1", "2", "3"];
for(var i =0; i < array.length; i++)
{
var opt = array[i]
var ele = document.createElement("option");
ele.textContent = opt;
ele.value = opt;
select.appendChild(ele);
}
}
加上下面的HTML:
<select id = "dropdownList">
<option> Choose a vendor </option>
</select>
我有一个javascript函数,将改变网页的功能基于哪个下拉项正在使用。new_vendor应该是下拉项的名称,在本例中为"1"、"2"或"3"。
function changeVendor(new_vendor)
我如何添加像onClick这样的东西到动态下拉列表中,并使用该项目名称调用changeVendor函数?
Use change event on select:
document.querySelector("#dropdownList").addEventListener("change",function(e){
//here code for change option
changeVendor(this.value);// in this.value is current value of select
});
标准绑定可以工作,因为select从一开始就在页面上(DOM加载),只有选项是动态添加的,但这对select更改事件没有意义。
您可以将事件处理程序附加到父元素,并从事件对象中获取有关被单击元素的信息。
var select = document.getElementById("dropdownList");
select.addEventListener('click', function(event){
var opt = event.target.innerText;
changeVendor(opt);
})
相关文章:
- Jquery在表WITH函数中追加新行后添加单击事件
- 添加/单击c#asp.netmvc5后禁用和更改按钮图标
- 递归添加单击事件处理程序
- 在动态创建的按钮上添加单击事件,这些按钮在单击时更改模式 h4 文本
- 为动态创建的列表项及其内容添加单击操作
- 向动态创建的表中的单元格添加单击函数 - JavaScript
- 向图像添加单击或按钮
- 如何使用单击方法在元素内部添加单击方法
- 如何添加单击事件以将您带到幻灯片上的某个图像
- 添加单击侦听器以循环列出项目
- 向动态生成的内容添加单击处理程序.如何去做
- JqPlot在数据点上添加单击事件
- 向所有元素添加单击事件侦听器- Firefox插件
- 如何在条形图中添加单击事件
- 创建动态按钮时出现错误,以及如何在不使用id的情况下动态添加单击事件
- 向加载的KML中的标记添加单击事件
- 为动态创建的下拉列表添加单击功能
- 无法在动态创建的锚标记上添加单击事件
- 如何向每个元素添加单击事件侦听器
- 如何使用Dojo向表行添加单击事件