类型错误: $(..).on 不是 jQuery 中的函数



当对应于所选下拉列表的值时,我尝试从数据库中获取数据,现在出现错误:

TypeError: $(...).on is not a function
$("#country").on("change", function() {

我的代码:

<htm>
<head>
<script src="js/jquery 1.7.js"></script>
   <script>
$(function() {  //  document.ready
    $("#country").on("change", function() {
        $.ajax({
            url: "country.php",
            type: "POST",
            data: {
                country: $(this).val()
            },
            success: function(data) {
                $("#results").html(data);
            }
        });
    });
});
</script>
</head>
<body>
<div>
<form name="welcomeDiv1" id="welcomeDiv1">
<tr class="unsortable" >
<select name="country" id="country" > 
   <option value="">Select Country</option>
<?php
$dbHost = 'localhost'; // usually localhost
$dbUsername = 'root';
$dbPassword = '';
$dbDatabase = 'priceflag';
$db = mysql_connect($dbHost, $dbUsername, $dbPassword) or die ("Unable to connect to Database Server.");
mysql_select_db ($dbDatabase, $db) or die ("Could not select database.");
$sql=mysql_query("SELECT DISTINCT `country` FROM 9xx");
while($row=mysql_fetch_assoc($sql))
{
            print' <option id="country" name="country" value="'.$row['country'].'" >'.$row['country'].' </option>';

   }  
   ?>  
</select>  
 </tr>
 </form>
</div>
<div id="results"></div>
</body>
</html>

谁能指导我如何解决此错误

您正在加载 3 个版本的 jQuery。最新的可能已过时,并且可能没有"打开"方法。仅使用 1 个版本,并尝试使用最新的版本,例如 1.9

<script src="js/jquery 1.7.js"></script>
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/jquery.js"></script>

在加载到页面的实际jQuery版本中(如果有的话),.on()方法不存在。我会选择最新的jquery可用(2.0.1)

有时错误

是由于jquery的不同版本而发生的,如果您在应用程序中使用多个jquery文件,则可以使用jQuery.noConflict()函数来获取适当的输出。希望这有帮助。

最新更新