【发布时间】:2015-01-16 10:15:01
【问题描述】:
大陆表
- 亚洲
- 南美洲
国家表
- 日本
- 中国
- 巴西
- 秘鲁
这是我表中的数据,我从大陆表和国家表中获取所有数据,如下所示
<select name="continent" class='required InputBox'>
<?php echo "<option value=''></option>";
foreach (Contintent() as $value) {
echo "<option id='" . $value[ 'sysid'] . "' value='" . $value[ 'name'] . "'>" . $value[ 'name'] . "</option>"; } ?>
</select>
这是针对国家/地区的
<select name="country" class='required InputBox'>
<?php echo "<option value=''></option>";
foreach (Country() as $value) {
echo "<option id='" . $value[ 'sysid'] . "' value='" . $value[ 'name'] . "'>" . $value[ 'name'] . "</option>"; } ?>
</select>
我想知道如何做到这一点,当我选择大陆(例如亚洲)时,可用于县的选项将是亚洲唯一的国家,即日本和中国。在此之后我还有另一张桌子,它是城市,但如果我在这里得到逻辑,我可以将它应用到城市。任何想法表示赞赏
“更新”
发现了一些东西here
我不熟悉的一个是 ajax 任何人都可以尝试解释它是如何工作的我想知道如何将 select 的 id 从这个 javascript sn-p 传递到我的 php 函数页面这里是 sn- p..
$('.continent').change(function() {
var id = $(this).find(':selected')[0].id;
//alert(id);
$.ajax({
type:'POST',
url:'../include/functions.php',
data:{'id':id},
success:function(data){
// the next thing you want to do
console.log(data);
alert(id);
}
});
});
在我的函数中的 php
function Country(){
if(isset($_POST['id'])){
echo $_POST['id'];
}
}
问题是 id 的值没有传递我如何将它传递给 function.php 我有点不明白。是不是发生在success:function(data){ 下一步我该怎么办?
FYI
警报没问题,它已经获得了大陆的 id,只是没有传递给 function.php 并且 console.log 什么也不写 当我将 url 更改为主页时,console.log 中选择所在的页面返回主页代码。
【问题讨论】:
-
你需要 javascript。
-
有没有办法不使用javascript?我对java脚本不是很好
-
如果您想即时过滤,您别无选择。或者您需要使用多个页面,并且只打开一个选择框。提交页面,在下一页上,您可以拥有国家(并在 PHP 中过滤)。请注意,这对您的用户没有好处(这种工作方式对用户体验非常不利)。
-
@Blaatpraat 你能举个例子吗?