下拉选项依赖于另一个下拉选项(来自数据库的所有值) [英] dropdown options is dependent from another dropdown options (all value from database)

查看:84
本文介绍了下拉选项依赖于另一个下拉选项(来自数据库的所有值)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎么能做到这一点。如果我在第一个下拉菜单中选择,手部按摩应该只出现在第二个下拉菜单中。



我希望第二个下拉菜单中的值取决于第一个
这里是我目前的代码:

 < body> 
< form method ='index.php'action ='post'>

类别:< select id =idname =category>
<?php
$ qry = mysql_query(SELECT * FROM categ,$ con);
while($ rs = mysql_fetch_object($ qry)){
echo< option id ='。$ rs-> categid。'> 。$ RS-> categname。 < /选项> 中;
}
?>
< / select>
< br>
子类别:< select id =idname =subcategory>
<?php
$ qry = mysql_query(SELECT * FROM serv,$ con);
while($ rs = mysql_fetch_object($ qry)){
echo< option id ='。$ rs-> servid。'> 。$ RS-> servname。 < /选项> 中;
}
?>
< / select>

< / form>
< / body>

这里是我的数据库

  CREATE TABLE IF NOT EXISTS`categ`(
`categid` int(11)NOT NULL AUTO_INCREMENT,
`categname` varchar(255)NOT NULL,
PRIMARY KEY(`categid`)
)ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 3;

-
- 表categ`的转储数据
-

插入`categ`(`categid`,`categname` )价值
(1,'hand spa'),
(2,'foot spa');


CREATE TABLE IF NOT EXISTS'serv`(
`servid` int(11)NOT NULL AUTO_INCREMENT,
`servname` varchar(255)NOT NULL,
`categid` int(11)NOT NULL,
PRIMARY KEY(`servid`)
)ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 3;

-
- 转储表`serv`的数据
-

插入`serv`(`servid`,`servname` ,'categid`)VALUES
(1,'haaaanndddd massage',1),
(2,'footssppaa',2);


解决方案

下面是一个可以自定义的示例,你要。从本质上讲,您可以使用jQuery / AJAX来实现这一点。



下面的示例创建了第二个下拉框,其中填充了找到的值。如果你一行一行地遵循逻辑,你会发现它确实很简单。我留下了几条评论意见,如果没有注释(一次一个),它会告诉你脚本在每个阶段都在做什么。



FILE 1 - TESTER .PHP

 < html> 
< head>
< script src =// ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js\"> ;</script>
< script type =text / javascript>
$(function(){
// alert('Document is ready');
$ b $('#stSelect')。change(function(){
var sel_stud = $(this).val();
// alert('You pick:'+ sel_stud);

$ .ajax({
type: POST,
url:another_php_file.php,
data:'theOption ='+ sel_stud,
成功:函数(whatigot){
// alert('Server- (+);
$('#LaDIV')。html(whatigot);
$('#theButton')。click(function(){
alert('您点击了按钮');
});
} // END success fn
)); // END $ .ajax
}); // END下拉更改事件
}); // END document.ready
< / script>
< / head>
< body>

发送“验证码”获取 | 15天全站免登陆