2012-04-05 42 views
0

我想在第二次從我的選擇填充第二個下拉列表,但每當我讓我的更改沒有更新。PHP的jQuery mySQL填充DROPDOWN字段錯誤

<script type="text/javascript" src="jquery-1.7.2.js"></script> 

<script> 
var second_choice = $('#second-choice').val(); 
$("#first-choice").change(function() { 
$("$second-choice").load("findModel.php?choice=" + $("#first-choice").val()); 
}); 
</script> 

下面是相關的PHP文件:

<?php 
include 'dbc.php'; 

$choice = mysql_real_escape_string($_GET['choice']); 

$query="SELECT * FROM `cars` WHERE `DVLAMake`='$choice'"; 
$result = mysql_query($query); 

while ($row = mysql_fetch_array($result)) { 
    echo "<option>" . $row{'DVLAModel'} . "</option>"; 
} 
?> 

數據庫連接工作。

...

<select id="first-choice"> 
<option selected value="base">Please Select a Make</option> 
<?php 
$sql="SELECT DISTINCT `DVLAMake` FROM `cars`"; 
$result = mysql_query($sql); 
while ($data=mysql_fetch_assoc($result)) 
{ 
echo "<option value =\"{$data[DVLAMake]}\" >{$data[DVLAMake]}</option>\n"; 
} 
?> 
</select> 

<select id="second-choice"> 
<option>Please choose from above</option> 
</select> 
<br /> 

<input type="submit" style="font-size:14px; padding:3;"value="Submit" size="20" /> 
</form> 

...

有什麼理由?

+0

你檢查你得到的SQL查詢? – Minras 2012-04-05 09:59:55

+1

嘗試把你的腳本放在'$(function(){})'handler – Straseus 2012-04-05 10:02:25

+1

Typo:'$ second-choice'應該是'#second-choice'證明讀取更多;-) – Flukey 2012-04-05 10:02:29

回答

4

您在這裏有一個錯字$("$second-choice")

$("#second-choice").load("findModel.php?choice=" + $("#first-choice").val()); 

編輯 - 你試過

$(function(){ 
    var second_choice = $('#second-choice').val(); 
    $("#first-choice").change(function() { 
     $("$second-choice").load("findModel.php?choice=" + $("#first-choice").val()); 
    }); 
}); 
+0

已更正,但仍然無法正常工作。 – JonE 2012-04-05 10:07:53

+0

@Mombassa我編輯了我的答案,但是用螢火蟲你看到了這個調用嗎?也許你沒有綁定變化事件,因爲你沒有使用ready()處理程序 – 2012-04-05 10:15:10

0
<script> 
var second_choice = $('#second-choice').val(); 
$(document).ready(function() { 
    $("#first-choice").change(function() { 
    $("#second-choice").load("findModel.php?choice=" + $("#first-choice").val()); 
    }); 
}); 
</script> 
+0

爲什麼你這樣做? '$ second-choice'的選擇器不起作用。如果你想成爲DOM準​​備好的函數,那麼就把'var second_choice = $('#second-choice')。val();'放進去。 – Flukey 2012-04-05 10:07:07