jQuery 将点击事件绑定到 select 元素的每个选项上的按钮

jQuery bind click event to button on each option of select element

我正在尝试在 select 的每个选项元素上的提交按钮上创建一个点击事件。

这是我的脚本:

var selectObj = $("#selectObj");

selectObj.find("option").each(function(){
    selectObj.val($(this).val());
    $("#submitBtn").click();
});

但是,它只适用于最后一个选项元素。

该值将设置为 change 事件中的元素。

var select;
$(document).ready(function(){
$('#s > option').each( function(e){
select=$('#s > option')[e].innerHTML
a(select);
})
function a(val)
{
$('button').trigger('click');
console.log('The values is ' +val)
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="s"><option>a</option>
<option>d</option><option>b</option>
<option>e</option><option>c</option></select>
<button type="submit">Submit</button>

But, it just work on the last option element.

我不知道你想要实现什么,但你的代码应该可以工作。

也不确定selectObj.val($(this).val());

的用法

var selectObj = $("#selectObj");

selectObj.find("option").each(function(){
    //selectObj.val($(this).val());
    $("#submitBtn").click(myFunc($(this).val()));
});

function myFunc(val){
  console.log(val);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="selectObj">
  <option value="first">First</option>
  <option value="second">Second</option>
</select>

<button type="button" id="submitBtn" >Test</button>