代码之家  ›  专栏  ›  技术社区  ›  sundowatch

jquery在select元素的每个选项上绑定click事件到按钮

  •  0
  • sundowatch  · 技术社区  · 5 年前

    我正试图在select的每个选项元素的submit按钮上创建一个click事件。

    这是我的剧本:

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

    但是,它只在最后一个选项元素上工作。

    2 回复  |  直到 5 年前
        1
  •  0
  •   Mamun    5 年前

    但是,它只在最后一个选项元素上工作。

    我不知道您试图实现什么,但是您的代码应该可以工作。

    也不确定 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
  •  0
  •   ellipsis    5 年前

    该值将设置为上的元素 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>