现在我点击的任何下拉列表都会将我带到同一页面。我希望每个下拉选项在我的项目中打开不同的页面。请帮忙。
这是我的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!";
}
?>
答案 0 :(得分:0)
您未正确使用switch
。 $_POST['dropdown'] != '1'
始终为true
或false
。这永远不会等于"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
属性相匹配。