使用php更新更改上的内容
我的目标是在div中显示第二个select,选项取决于用户在第一个select中所做的选择 第一个选项是区域列表,第二个选项是前面提到的区域中的省份列表 函数“change”应该更新div“province”,通过第二次选择将值传递给另一个用于确定省的php文件,但这不会发生 主页:使用php更新更改上的内容,php,jquery,html,select,onchange,Php,Jquery,Html,Select,Onchange,我的目标是在div中显示第二个select,选项取决于用户在第一个select中所做的选择 第一个选项是区域列表,第二个选项是前面提到的区域中的省份列表 函数“change”应该更新div“province”,通过第二次选择将值传递给另一个用于确定省的php文件,但这不会发生 主页: <?php $region= array("","Abruzzo", "Basilicata", "Calabria"); ?> <html> <script src="http
<?php
$region= array("","Abruzzo", "Basilicata", "Calabria");
?>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
function change(value) {
$('province').load('select.php?id='+ value);
}
</script>
<body>
<div>
<select onchange="change.call(this.value)">
<?php
for($i=0;$i<count($region);$i++)
{
echo "<option value=".$i.">".$region[$i]."</option>";
}
?>
</select>
</div>
<div id="province"></div>
</body>
</html>
用于更新的脚本:
<?php
$vector=array(1 =>array("CH","AQ","PE","TE"),
2 => array("MT","PZ"),
3 => array("CZ","CS","KR","RC","VV"));
$id = $_GET['id'];
if($id==0)
{
echo "";
}
else{
for($i=1;$i<(count($vector)+1);$i++)
{
$n=key($vector)
if($n==$i)
{
echo "<select>";
$content=current($vector);
for($k=0;$k<count($content);$k++)
{
echo "<option>".$content[$k]."<option>";
}
echo "</select>";
break;
}
else
{
next($vector);
}
}
}
?>
您在以下位置缺少id选择器: 希望这有帮助 功能改变{ console.log_此值 $'province.load'select.php?id='+\u this.value; } 阿布鲁佐 巴西利卡 卡拉布里亚 您缺少来自id选择器和的;from$n=用于更新的PHP文件中的key$vector。此外,如果您将问题标记为jQuery,则应该使用它。Inline onchange已被弃用,我建议您不要再使用它 更改此项:
$n=key($vector)
为此:
$n=key($vector);
jQuery代码应该如下所示:
$('select').on('change', function() {
var selected = $(this).find(":selected").val();
$('#province').load('send.php?id=' + selected);
});
<div>
<select name='select'>
<?php for($i=0;$i<count($region);$i++) { echo "<option value=".$i. ">".$region[$i]. "</option>"; } ?>
</select>
</div>
<div id="province"></div>
HTML是这样的:
$('select').on('change', function() {
var selected = $(this).find(":selected").val();
$('#province').load('send.php?id=' + selected);
});
<div>
<select name='select'>
<?php for($i=0;$i<count($region);$i++) { echo "<option value=".$i. ">".$region[$i]. "</option>"; } ?>
</select>
</div>
<div id="province"></div>
您好,我第一次尝试纠正我犯的愚蠢错误,但这并没有解决问题。后来我尝试了新的解决方案,但仍然没有发生任何事情。
**Script for updating:**
<?php
$vector=array(1 =>array("CH","AQ","PE","TE"),
2 => array("MT","PZ"),
3 => array("CZ","CS","KR","RC","VV"));
$id = $_GET['id'];
if($id==0)
{
echo "";
}
else{
if(array_key_exists($id,$vector))
{
echo "<select>";
for($i=0;$i<(count($vector[$id]));$i++)
{
echo "<option>".$vector[$id][$i]."</option>";
}
echo "</select>";
}
}
?>