代码里,select的选择触发事件onchange,不触发,请高手指教是哪里问题?

图片说明

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
      <!--省份选择-->
      <select id="id_prov" οnchange="showCity()">
      <option  value="0">安徽</option>
      <option  value="1">江苏</option>
      <option  value="2">湖南</option>
      </select>

<script type="text/javascript">
function showCity() {
   alert(1);
   var p=0;
      }
</script>
</body>
</html>

图片说明自己把写的代码先黏贴到记事本中,你就会发现你的onchange的o写的有问题了

input的onchange事件第二次不执行,问题的根源在于没有发生任何改变,因为绑定的是onchange事件,如果事件的对象没有发生改变,那么事件是不会执行的。当第二次选择文件和第一次选择的文件相同的时候,input的value值是一样的,在js看来就是没有变化,里面的值跟之前还是一样。所以就出现了问题的出现。

要解决这个问题,可以在onchange事件执行完之后,清空input的value值,当第二次再选择相同的文件时,里面的value从空值变为任何值,都是一个改变的过程,所以就不会存在事件不执行的问题了。

这个暂时解决现有问题,但是这个后续又有新的问题

1、确认导入了JS库
2、clean项目重启

把script标签内容放在body上面

图片说明

<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>

<body>
      <!--省份选择-->
      <select id="id_prov" onchange="showCity()">
      <option  value="0">安徽</option>
      <option  value="1">江苏</option>
      <option  value="2">湖南</option>
      </select>
<script type="text/javascript">
function showCity() {
   alert(1);
   var p=0;
      }
</script>

</body>
</html>