2014-02-20 71 views
0

我想,當對應於下降的值向下選擇從數據庫提取數據,現在我得到一個錯誤:

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> 

任何人都可以指導我如何解決這個錯誤

+0

js沒有包含正確的請檢查你有沒有包含jquery庫一次這個頁面或嘗試使用jQuery –

+0

爲什麼jQuery 3個版本? – Ramesh

+0

你有沒有路徑中的3個jQuery文件? –

回答

3

您正在加載3個版本的jQuery。 最新的一個可能已經過時,並且 可能沒有「on」方法。 只能使用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> 
0

在加載到頁面的實際jQuery版本(如果有的話)中.on()方法不存在。我會去一個可用的最新的jQuery(2.0.1)

0

有時發生錯誤的,因爲不同版本的jQuery的,如果你正在使用你的應用程序的多個文件的jQuery,那麼你可以使用jQuery.noConflict() 函數來獲得相應的輸出。 希望這有助於。