Javascript 获取要传递到第二个函数的选定下拉菜单值
我有一些代码来生成一个下拉菜单,它的内容来自一个数组。那部分正在发挥作用。但是,当用户单击其中一个菜单元素时,我需要将从下拉菜单中选择的值传递到我的Javascript 获取要传递到第二个函数的选定下拉菜单值,javascript,html,Javascript,Html,我有一些代码来生成一个下拉菜单,它的内容来自一个数组。那部分正在发挥作用。但是,当用户单击其中一个菜单元素时,我需要将从下拉菜单中选择的值传递到我的populateJobVal()函数中,以便将该值打印到输入字段中。现在,当我运行此代码时,输出到输入字段的是[object htmlulliselement] 我假设我在这里需要做的就是将正确的值传递给我的populateJobVal(),但是,到目前为止,它并没有按预期工作。我已尝试按如下方式调整代码: a.setAttribute('oncli
populateJobVal()
函数中,以便将该值打印到输入字段中。现在,当我运行此代码时,输出到输入字段的是[object htmlulliselement]
我假设我在这里需要做的就是将正确的值传递给我的populateJobVal()
,但是,到目前为止,它并没有按预期工作。我已尝试按如下方式调整代码:
a.setAttribute('onclick','populateJobVal(opt)')代码>
。。。但是,在这种情况下,根本不会向输入字段打印任何内容。我需要在这里通过什么?还是我遗漏了什么
<script>
let select = document.getElementById("selectJob");
let options = ["Job 1", "Job 2", "Job 3", "Job 4", "Job 5"];
for (let i = 0; i < options.length; i++) {
let opt = options[i];
let a = document.createElement("a");
a.textContent = opt;
a.setAttribute('href', '#');
a.setAttribute('onclick', 'populateJobVal(selectJob)'); // What to pass here?
a.setAttribute('class', 'btn btn-link');
let li = document.createElement("li");
li.appendChild(a);
select.appendChild(li);
}
function populateJobVal(val) {
document.getElementById("selection").value = val;
}
</script>
让select=document.getElementById(“selectJob”);
让选项=[“作业1”、“作业2”、“作业3”、“作业4”、“作业5”];
for(设i=0;i
我的相关HTML代码如下所示:
<div class="dropdown">
<button class="btn btn-default btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
Select Job Type to Schedule
<span class="caret"></span></button>
<ul class="dropdown-menu" id="selectJob">
</ul>
</div>
选择要计划的作业类型
我更改了添加click事件的方式,这样传递opt
参数就容易多了。前一种方法是传递整个列表
替换
a.setAttribute('onclick', 'populateJobVal(opt)');
与
let select=document.getElementById(“selectJob”);
让选项=[“作业1”、“作业2”、“作业3”、“作业4”、“作业5”];
for(设i=0;i{
populateJobVal(opt)
})看这里
a、 setAttribute('class','btn-btn-link');
设li=document.createElement(“li”);
李.儿童(a);
选择.appendChild(li);
}
函数populateJobVal(val){
调试器
document.getElementById(“selectJob”).value=val;
}
选择要计划的作业类型
a.addEventListener('click', () => {
populateJobVal(opt)
}); // Look here