PHP jQuery mySQL 填充 DROPDOWN 字段错误

Posted

技术标签:

【中文标题】PHP jQuery mySQL 填充 DROPDOWN 字段错误【英文标题】:PHP jQuery mySQL Populating DROPDOWN Fields error 【发布时间】:2012-04-19 01:34:12 【问题描述】:

我正在尝试从第二个选择中填充第二个下拉列表,但每当我进行更改时,都没有更新。

<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>

...

有什么原因吗?

【问题讨论】:

您是否检查了生成的 SQL 查询? 试着把你的脚本放在$(function() )handler中 错字:$second-choice 应该是 #second-choice 证明阅读更多;-) 【参考方案1】:

你这里有一个错字$("$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());
    );
);

【讨论】:

@Mombassa 我编辑了我的答案,但是使用 firebug 你看到调用了吗?也许你没有绑定 change 事件,因为你没有使用 ready() 处理程序

以上是关于PHP jQuery mySQL 填充 DROPDOWN 字段错误的主要内容,如果未能解决你的问题,请参考以下文章

如何根据使用 jQuery/AJAX 和 PHP/MySQL 选择的第一个下拉列表填充第二个下拉列表?

从MySQL加载数据并使用jQuery Mobile,PHP选择填充下拉列表

使用 MySQL 填充 jQuery DataTable

Javascript/PHP/Jquery - 自动填充和数据加密

jQuery + PHP + MySQL:用 2 个表格拖动 'n' Drop

jQuery 使用 jQuery ajax json、php 将项目填充到 Select 中