现在,我单击的任何下拉列表会将我带到同一页面。我希望每个下拉选项在项目中打开不同的页面。请帮忙。

这是我的php页面,其中包含下拉列表

      <section class="main">
           <div class="fleft">
               <select id="cd-dropdown" class="cd-select">
                   <option value="-1" selected>My Result</option>
                   <option value="1">Unofficial Transcript</option>
                   <option value="2">Request Official Transcript</option>
               </select>
           </div>
      </section>
          <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
          <script type="text/javascript" src="js/jquery.dropdown.js</script>
          <script type="text/javascript" src="js/animation.js"></script>
          <script type="text/javascript" src="js/getData.js"></script>


这是我的getData.js

 $(document).ready(function () {
 $('#cd-dropdown').change(function () {
     var dropval = $(this).val();
     $.ajax({
         type: "POST",
         url: 'includes/process_ajax.php',
         data: {
             dropdown: dropval

         },
         dataType: 'html'

     }).done(function (data) {
         $('#page1').html(data);
     });
 });
 });


这是我的process_ajax.php文件

<?php
$change_password= 'You clicked me!';
switch ($_POST['dropdown'] != '1' ) {
case "change":
    echo $change_password;
    break;
default:
    echo "Its not working!";
}
?>

最佳答案

您使用的switch错误。 $_POST['dropdown'] != '1'将始终为truefalse。这将永远不等于"change",因此该大小写将不匹配,并且将始终变为default:大小写。

它应该是:

switch($_POST['dropdown']) {
case '1':
    echo "Here is your unofficial transcript";
    break;
case '2':
    echo "Your request for an official transcript has been received"
    break;
default:
    echo "You need to select something";
}


case表达式必须与下拉选项中的value属性匹配。

10-05 20:24
查看更多