【发布时间】:2021-10-04 03:22:05
【问题描述】:
我想运行一个在我打开某个下拉菜单(选择)时总是触发的函数。我尝试的第一件事是 select 标签中的 onclick 事件,但问题是当我单击 Dropdown 内的任何选项时也会触发该功能。
该函数应该遍历具有特定类名的所有输入字段,并获取它们的值来构建下拉列表的选项,这一切正常。问题是,我无法选择其中一个选项,因为在我尝试选择某些内容后总是会触发 fillDropdownReq() 函数。
有什么方法可以在我打开下拉菜单时触发事件?
function fillDropdownReq(DD){
let dropdown = $('#'+DD.id);
dropdown.empty();
dropdown.append('<option disabled>choose Prerequisite</option>');
dropdown.prop('selectedIndex', 0);
$(".fieldName_checkbox").each(function (){
dropdown.append($('<option></option>').attr('value', $(this).val()).text($(this).val()));
})
}
.fieldName_checkbox{
float: left;
margin: 5px;
}
.select_div{
float: right;
margin: 25px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="fieldName_checkbox" id="fieldName_checkbox1" value="testvalue1">
<input class="fieldName_checkbox" id="fieldName_checkbox2" value="testvalue2">
<div class="select_div">
<select id="fieldPrerequisitesSelect" onclick="fillDropdownReq(this)">
<option selected="true" disabled>choose Prerequisite</option>
</select>
</div>
【问题讨论】:
标签: javascript jquery select events dropdown