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>
我正在尝试在 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>