方法1:onchange一次就提交一次表单,就可以传值给php了
创新互联技术团队十年来致力于为客户提供做网站、网站制作、成都品牌网站建设、成都全网营销推广、搜索引擎SEO优化等服务。经过多年发展,公司拥有经验丰富的技术团队,先后服务、推广了数千家网站,包括各类中小企业、企事单位、高校等机构单位。
方法2:Ajax提交
大概js传值给PHP就这两种办法了。
或者你可以考虑一次讲所有数据用PHP写成JS二维数组。当然,如果数据量太大,这样是不行的。
给第一个select加js事件,点击它的时候动态加载第二个select的内容,比如写个ajax获取第一个select的value(这个value是哪个quanx_id),然后去后台请求,后无论是用缓存还是说直接从数据库中查,得到这个value对应的field,再返回数据到前台进行处理。也可以在页面加载的时候就直接吧每个quanx_id的对应关系全部查找并在模板中的js用相应变量存储后,再采用上面的思路去动态加载就是了。反正最终都是当select1的value发生变化,动态加载select2的value.
比如你有一个城市表
city,有字段id和city_name,
代码如下:
?php
$sql
=
'select
*
from
city';
$res
=
mysql_query($sql);
$cities
=
array();
while
($row
=
mysql_fetch_assoc($res)
)
{
$cities[$row['id']]
=
$row['name'];
}
?
--
请选择城市
--
?php
foreach
(
$cities
as
$id=
$city
)
{
?
?php
echo
$city;
?
原理就是从mysql查询出所有城市的数据并弄成一个数组$cities
,然后循环$cities,按照下拉表单的格式输出option选项就好了
1。如果数据量很大需要用ajax,就是在每次change时发送请求道服务器,返回数据
这种方法网上有很多,搜三级联动菜单就可以
2.如果数据量不大,可以一次读到放到静态html文件里边用js实现
例子:简单的方法,描述如下
读取数据库students :字段studentid ,studentname,studentgroup
select name="type_sel" id="type_sel" onchange="document.getElementById('test_t').innerHTML=this.begin;"
option value="学生id1" begin='学生姓名1'学生1/option
option value="学生id2" begin='学生姓名2'学生2/option
/select
div id='test_t'/div