【问题标题】:jQuery bind click event to button on each option of select elementjQuery将单击事件绑定到选择元素的每个选项上的按钮
【发布时间】:2019-06-27 09:39:57
【问题描述】:

我正在尝试在 select 的每个选项元素上的提交按钮上进行单击事件。

这是我的脚本:

var selectObj = $("#selectObj");

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

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

【问题讨论】:

  • 据我了解您对 Ashay Mandwarya 的回答的评论,您想要实现的目标如下:如果用户选择列表中的任何元素,您希望选择所有元素并立即提交表单。正确的?您能否详细说明一下,您为什么要实现这一目标?

标签: javascript jquery select each option


【解决方案1】:

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

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

也不确定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>

【讨论】:

    【解决方案2】:

    该值将设置为 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>

    【讨论】:

    • 抱歉迟到了。我正在尝试使脚本自动选择所有选项并在每个选项上发送点击事件。
    猜你喜欢
    • 2011-10-01
    • 2018-02-06
    • 2010-11-26
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多