选择下拉列值时尝试运行PHP操作

时间:2015-11-18 10:56:27

标签: php

如果选择了某个下拉选项,我试图回显一个新的表单下拉菜单。这是我到目前为止运行的代码没有结果:

        <p><span>Hogskole</span><select id="selectbasic" name="Universitet"></p>


                        <option value=1>Høgskolen i Lillehammer</option>
                        <option value=2>Høgskolen i Gjøvik</option>
                        <option value=3>Høgskolen i Hedmark</option>

                 <?php switch($_POST['Universitet']){ 

                    case 'Høgskolen i Hedmark':
                    echo '<p><span>Hogskole</span><select name="Universitet"></p>
                            <option>Option One</option>
                            <option>Option Two</option>
                            <option>Option Three</option>';
                    break;

                    default:
                    break;

                 }
                 ?>

3 个答案:

答案 0 :(得分:0)

$_POST变量将保留选项值。而不是

case 'Høgskolen i Hedmark':

使用

case 3:

我通常避免对select选项使用numeric / ids值,因为它们很难被遵循。您可以考虑使用字符串更改它,例如:

<select id="selectbasic" name="Universitet"></p>
    <option value="Lillehammer">Høgskolen i Lillehammer</option>
    <option value="Gjøvik">Høgskolen i Gjøvik</option>
    <option value="Hedmark">Høgskolen i Hedmark</option>
</select>
<?php 
  switch($_POST['Universitet']) { 
     case 'Hedmark':
         echo '<p><span>Hogskole</span><select name="Universitet">
                   <option>Option One</option>
                   <option>Option Two</option>
                   <option>Option Three</option>
               </select></p>';
         break;
     case 'Lillehammer':
     default:
         // echo something else
  }
?>

只有在配置数据之前将表单提交到当前页面时,才可以使用此类行为。否则,您必须搜索javascript events

答案 1 :(得分:0)

Php不是用于客户端处理的事件驱动语言,您必须使用jquery和AJAX

<script>
function changeState(){
var countryId='';
selectId=$("#selectbasic").val();
$.ajax({
   url: 'getStateList.php',
   type:'post',
   data: {
      selectId: selectId
   },   
   success: function(data) {
       $("#state").html(data);

   },
});
}
</script>

答案 2 :(得分:0)

$ _POST变量取值选项。

So Use this code 

 case 3 :

Remove 
case 'Høgskolen i Hedmark':