php – 第一个下拉菜单,自动更改第二个下拉列表的选项
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 第一个下拉菜单,自动更改第二个下拉列表的选项,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3376字,纯文字阅读大概需要5分钟。
内容图文
我有两个下拉菜单,其中的选项无法从数据库中获取.
第一个,让用户选择一个类别.
<select name="category">
<option value="0">None</option>
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
<option value="4">Fourth</option>
</select>
第二个选项取决于第一个下拉菜单中的选项.例如,如果用户选择First选项,则会显示第二个下拉列表
<select name="items">
<option value="3">Smartphone</option>
<option value="8">Charger</option>
</select>
但是当用户改变主意,或者先选择第二个选项时,现在会显示第二个下拉菜单
<select name="items">
<option value="1">Basketball</option>
<option value="4">Volleyball</option>
</select>
我的问题是如何实现这一目标?这可以在不使用数据库的情况下完成吗?
谢谢!
解决方法:
请参阅下文,以查看不使用数据库的工作示例.
使用MySQL数据库的工作示例
如果你想使用数据库连接它,是的,它肯定是可能的.考虑一下这个表:
CREATE TABLE `contents` (
`id` INT PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR (255),
`parent` INT DEFAULT 0
);
INSERT INTO `contents` (`name`, `parent`) VALUES
('Names', 0),
('Places', 0),
('Animals', 0),
('Praveen', 1),
('Bill Gates', 1),
('Steve Jobs', 1),
('India', 2),
('New York', 2),
('London', 2),
('Singapore', 2),
('Cat', 3),
('Dog', 3),
('Tiger', 3),
('Deer', 3)
表结构
+----+------------+--------+
| id | name | parent |
+----+------------+--------+
| 1 | Names | 0 |
| 2 | Places | 0 |
| 3 | Animals | 0 |
| 4 | Praveen | 1 |
| 5 | Bill Gates | 1 |
| 6 | Steve Jobs | 1 |
| 7 | India | 2 |
| 8 | New York | 2 |
| 9 | London | 2 |
| 10 | Singapore | 2 |
| 11 | Cat | 3 |
| 12 | Dog | 3 |
| 13 | Tiger | 3 |
| 14 | Deer | 3 |
+----+------------+--------+
最初的HTML& PHP代码
现在,让我们使用PHP首先填充初始< select>:
<?php
mysql_connect();
mysql_select_db("contents");
$result = mysql_query("SELECT * FROM `contents` WHERE `parent` = 0");
while(($data = mysql_fetch_array($result)) !== false)
echo '<option value="', $data['id'],'">', $data['name'],'</option>'
?>
现在< select>准备好了.通过onchange函数,我们可以触发一个AJAX事件来获取新的< select>使用父级< select>提供的数据.
<select onchange="ajaxfunction(this.value)">
<!-- Options would have been initially populated here -->
</select>
现在对于jQuery函数,您可以这样做:
<script type="text/javascript">
function ajaxfunction(parent)
{
$.ajax({
url: 'process.php?parent=' + parent;
success: function(data) {
$("#sub").html(data);
}
});
}
</script>
在HTML中,在< select>之后,您需要提供另一个id为sub的select.
<select onchange="ajaxfunction(this.value)">
<!-- Options would have been initially populated here -->
</select>
<select id="sub"></select>
处理PHP源代码
最后是process.php的源代码:
<?php
mysql_connect();
mysql_select_db("contents");
$result = mysql_query("SELECT * FROM `contents` WHERE `parent` = " . mysql_real_escape_string($_GET["parent"]));
while(($data = mysql_fetch_array($result)) !== false)
echo '<option value="', $data['id'],'">', $data['name'],'</option>'
?>
不使用数据库的工作示例
你只需要在PHP中替换它.
<?php
$parent = array("Name", "Place", "Animals");
foreach ($parent as $id => $name)
echo '<option value="s', $id,'">', $name,'</option>'
?>
而对于process.php:
<?php
$parent = array("Name", "Place", "Animals");
$s0 = array("Praveen", "Bill Gates", "Steve Jobs");
foreach (${$_GET["parent"]} as $id => $name)
echo '<option value="', $data['id'],'">', $data['name'],'</option>'
?>
内容总结
以上是互联网集市为您收集整理的php – 第一个下拉菜单,自动更改第二个下拉列表的选项全部内容,希望文章能够帮你解决php – 第一个下拉菜单,自动更改第二个下拉列表的选项所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。