Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php更新更改上的内容_Php_Jquery_Html_Select_Onchange - Fatal编程技术网

使用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

我的目标是在div中显示第二个select,选项取决于用户在第一个select中所做的选择

第一个选项是区域列表,第二个选项是前面提到的区域中的省份列表

函数“change”应该更新div“province”,通过第二次选择将值传递给另一个用于确定省的php文件,但这不会发生

主页:

<?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>";
    }
}
?>