我是jquery ajax的新手。我想知道的是如何根据第一个选择框的选择填充第二个选择框的内容。这里是我的HTML:
<form method="post" action="tosomewhere.php">
<table>
<tbody>
<tr>
<td>
<select id="first" name="year">
<option value="1">1</option>
<option value="2">2</option>
</select>
</td>
</tr>
<tr>
<td>
<select id="second" name="section">
</select>
</td>
</tr>
</tbody>
</table>
</form>
jscript :
<script type="text/javascript">
$(function () {
$("#first").change(function () {
$("#second").load('second_option.php?year=', {first: $(this).val()});
});
});
</script>
PHP文件
<?php
require '../../config/dbconfig.php';
$year = $_GET['year'];
$sql = "SELECT * FROM section_tb WHERE year = ?";
$stmt = $db->prepare($sql);
$stmt->execute(array($year));
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
$second_option = "";
foreach($result as $key => $value)
$second_option .= "<option value='".$value['section_name']."'>".$value['section_name']."</option>";
echo $second_option;
?>
我的第二个选择框的内容将从第一个选择框的WHERE值的mysql结果填充。我可以构建PHP文件,我只是对如何返回和填充它感到困惑。
有教程或样本吗?非常感谢。
编辑:添加了jquery脚本,但仍然没有运气。我试图var_dump($second_option)它有内容
将此javascript添加到当前页面:
<script>
$(function () {
$("#first").change(function () {
$("#second").load('second_options.php?year=' + $(this).val());
});
});
</script>
在你的"second_options.php"中返回这些内容:
<option value="1">a</option>
<option value="2">b</option>
这里有一些教程
www.huanix.com/files/dependent_select/dependent_select.php http://bytes.com/topic/php/answers/708593-dependent-dropdown-list-mysql http://www.plus2net.com/php_tutorial/ajax_drop_down_list.php