【问题标题】:onchange event in jqueryjquery中的onchange事件
【发布时间】:2014-01-29 17:51:35
【问题描述】:

我正在尝试在 jquery 中的选择字段上实现 onchange 事件,因为 jquery 不会产生跨浏览器兼容性问题。我的脚本代码是

<script>
  $('#payment_method').change(function () {
     if ($('#payment_method').val() == 'check') {
        alert('hello');
     }  
  });
</script>

这里是选择字段的代码

<select id="payment_method" name="country" class="form-control" >
    <option value="">Select One</option>
    <option value="check">Check</option>
    <option value="bank_transfer">Bank/Wire Transfer</option>
    <option value="paypal">Paypal</option>
    <option value="smart_card">Smart Money Card</option>
</select>

但是当我选择检查选项时什么都没有发生

【问题讨论】:

  • 您的代码在 DOM 准备就绪之前执行,将您的代码包装在 $(document).ready(function(){}); 或类似的 dom 就绪事件中。
  • 不需要第二个 $('#payment_method'),只需使用 $(this) 代替。

标签: javascript jquery javascript-events


【解决方案1】:

当文档准备好时,您需要 ready 事件来运行您的代码。

<script>
    $(document).ready(function(){
      $('#payment_method').change(function () {
       if ($(this).val() == 'check') {
       alert('hello');
      } 
    });
      });
    </script>

【讨论】:

    【解决方案2】:

    可能有用

    $(this).val()
    

    而不是

    $('#payment_method').val()
    

    避免 DOM 查找。

    【讨论】:

      猜你喜欢
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多