【问题标题】:"undefined is not a function" error with "onchange" handler“onchange”处理程序的“undefined is not a function”错误
【发布时间】:2026-01-09 12:25:01
【问题描述】:

我有一个下拉菜单 (<select id="typeselect">),其中包含一个内联 onchange 事件处理程序,用于提醒所选选项。为什么我会收到错误消息:undefined is not a function

下面的演示:

(function($) {

  function test() {
    var selected_option = $('#typeselect option:selected');
    alert(selected_option);
  }

})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="typeselect" onchange="test()">
  <option>(Select)</option>
  <option value="oi">Outgoing invoice</option>
  <option value="ii">Incoming invoice</option>
  <option value="oc">Outgoing Credit Nota</option>
  <option value="ic">Incoming Credit Nota</option>
</select>

【问题讨论】:

  • 也许test 没有在全局范围内定义或者你没有加载jQuery。但是,该错误似乎表明它源自其他地方,而不是您发布的内容。也许阅读 jQuery 教程会有所帮助:learn.jquery.com
  • 您应该学习如何使用浏览器的开发者工具,并使用 Javascript 控制台来帮助您进行故障排除。您将收到更好的错误消息,如果您仍然难以理解,请将其添加到您的问题中。
  • 更新了帖子!希望能帮助到你。我正在使用 chrome 的控制台来解决我的错误。
  • 问题已改写以符合规则

标签: javascript jquery onchange


【解决方案1】:

感谢 showdev 的回答!并感谢其他所有人提供的帮助!

    $('#typeselect').on('change',test});

完美运行! :D

【讨论】:

    最近更新 更多