代码之家  ›  专栏  ›  技术社区  ›  Mayank Pandeyz

简单的jquery change()在safari上不起作用

  •  0
  • Mayank Pandeyz  · 技术社区  · 6 年前

    我试图使用一个简单的jquery代码设置下拉选项:

    $('option[value="1"]').attr('selected', 'selected').change();
    

    任何人,请帮助解决这个奇怪的问题。提前谢谢。

    $(document).ready(function(){
      $('#btn').click(function(){
        $('option[value="1"]').attr('selected', 'selected');
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <select id="dd">
    	  <option value="">Select</option>
    	  <option value="1">One</option>
    	  <option value="2">Two</option>
    	  <option value="3">Three</option>
    	</select>
    
    	<input type="button" value="click me" id="btn" />
    1 回复  |  直到 6 年前
        1
  •  2
  •   charlietfl    6 年前

    上不支持跨浏览器的事件 <option> 标签。IE和其他浏览器中也可能存在同样的问题。试图隐藏的情况也是如此 <

    <select> 并在这一点上引发变化

    $('#btn').click(function() {
      $('#dd').val('1').change();
    });
    
    $('select').change(function() {
      console.log(`Select #${this.id} was changed to ${this.value}`)
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <select id="dd">
      <option value="">Select</option>
      <option value="1">One</option>
      <option value="2">Two</option>
      <option value="3">Three</option>
    </select>
    
    <input type="button" value="click me" id="btn" />