本站所搜集的资源均来源于网络,仅供学习研究代码使用,请勿商用
本站所有资源均免费下载无需付费。
登录账号后访问“个人中心”点击“我的余额”在右上角签到后即可免费下载
其资源在源站什么样下载就是什么样,并非本站制作发布,代码是否完整、是否有教程及使用说明需自行判断,本站不保证其资源可用。
本站所有资源均免费下载无需付费。
登录账号后访问“个人中心”点击“我的余额”在右上角签到后即可免费下载
其资源在源站什么样下载就是什么样,并非本站制作发布,代码是否完整、是否有教程及使用说明需自行判断,本站不保证其资源可用。
首先在表单标签内,在菜单内创建一个选择菜单,用书籍类别填充选项。
<p><label>Book Type:</label>
<select name='catID' id='catID'>
<option value=''>Select</option>
<?php
$stmt = $conn->query('SELECT catID,catTitle FROM book_categories ORDER BY catTitle');
while($row = $stmt->fetch(PDO::FETCH_OBJ)) {
echo "<option value='$row->catID'>$row->catTitle</option>";
}
?>
</select>
</p>
给选择菜单一个 id 供 jQuery 稍后使用,在这种情况下,我使用 catID 作为选择的名称和它的 id。
接下来创建了第二个选择菜单,再次为选择提供一个 id 供 jQuery 使用。
<p><label>Book:</label>
<select name='bookID' id='bookID'></select>
</p>
在页面底部包含一个加载 jQuery 的调用。
要绑定两个选择菜单,请添加一个绑定函数,该函数将在每次 id 为 catID 的选择菜单更改时运行,每次调用 ajax 函数时都会运行该函数。
ajax 函数是通过对另一个 php 文件的 GET 请求执行的,该 php 文件传入所选的 catID。
在检索成功的请求后,通过使用 .html() 并将新项目注入到具有 bookID 的 id 的选择菜单中,将 php 文件中的结果填充到第二个选择菜单中。
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(function() {
$("#catID").bind("change", function() {
$.ajax({
type: "GET",
url: "change.php",
data: "catID="+$("#catID").val(),
success: function(html) {
$("#bookID").html(html);
}
});
});
});
</script>
change.php
在 change.php 中建立与数据库的连接,然后从 GET 请求中收集 catID 并执行查询以选择与所选 catID 匹配的所有记录。
最后,结果被循环并回显出一个选项,该选项内的每个循环都包含 bookId 和 bookTitle。
这些将通过上一页的 jQuery 添加到第二个选择菜单中。
<?php
include('config.php');
//collect the passed id
$id = $_GET['catID'];
//run a query
$stmt = $conn->query('SELECT bookID,bookTitle FROM books WHERE catID = '.$conn->quote($id).' ORDER BY bookTitle');
//loop through all returned rows
while($row = $stmt->fetch(PDO::FETCH_OBJ)) {
echo "<option value='$row->bookID'>$row->bookTitle</option>";
}
把它们放在一起:
index.php
<?php require('config.php');?>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Demo</title>
</head>
<body>
<form action='' method='post'>
<p><label>Book Type:</label>
<select name='catID' id='catID'>
<option value=''>Select</option>
<?php
$stmt = $conn->query('SELECT catID,catTitle FROM book_categories ORDER BY catTitle');
while($row = $stmt->fetch(PDO::FETCH_OBJ)) {
echo "<option value='$row->catID'>$row->catTitle</option>";
}
?>
</select>
</p>
<p><label>Book:</label>
<select name='bookID' id='bookID'></select>
</p>
</form>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(function() {
$("#catID").bind("change", function() {
$.ajax({
type: "GET",
url: "change.php",
data: "catID="+$("#catID").val(),
success: function(html) {
$("#bookID").html(html);
}
});
});
});
</script>
</body>
</html>
change.php
<?php
include('config.php');
//collect the passed id
$id = $_GET['catID'];
//run a query
$stmt = $conn->query('SELECT bookID,bookTitle FROM books WHERE catID = '.$conn->quote($id).' ORDER BY bookTitle');
//loop through all returned rows
while($row = $stmt->fetch(PDO::FETCH_OBJ)) {
echo "<option value='$row->bookID'>$row->bookTitle</option>";
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。