php ajax两个选择框

时间:2011-12-06 02:31:38

标签: php jquery ajax select

我对这个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文件,我只是对如何返回并在select上填充它感到困惑。

任何指导教程或样本?非常感谢你。

编辑:添加了jquery脚本,但仍然没有运气。我试过var_dump($ second_option)它有内容。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)