当对应于所选下拉列表的值时,我尝试从数据库中获取数据,现在出现错误:
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()函数来获取适当的输出。希望这有帮助。