我有一个页面,其中包含需要在执行某些操作时更新的部分 这是一个描述
将有三个下拉菜单 当第一个下拉列表更改值时,第二个下拉列表应包含特定于第一个下拉列表所选项目的选项,第二个下拉列表更改第三个下拉列表选项等等。
<html>
<head></head>
<body>
<select name=section1 id=section1>
<option value=option1>Option1</option>
<option value=option2>Option2</option>
</select>
<select name=section2 id=section2>
<option value=option1>Option1</option>
<option value=option2>Option2</option>
</select>
</body>
</html>
这是Javascript
$('#section1').removeAttr('onchange');
$('#section1').change(function () {
var level = $("#section1").val();
alert(level);
$.ajax({
type:'post',
url: 'ajax/education.php',
data: "level="+level,
dataType:'xml',
success: function(data) {
// alert(jqXHR.response);
//classes=data.find('classes').text();
$('#section2').html(classes);
},
error: function(jqXHR,textStatus,errorThrown) { alert(jqXHR.response); }
});
});
这是生成xml;
的php文件 require_once('../library/config.php');
require_once('../library/database.php');
$db = new Database();
$level_classes='';
$class_subjects='';
if(isset($_POST['level'])){
$level = $_POST['level'];
$db->query("SELECT l.class_name,c.id,c.class FROM level l JOIN class c ON c.level_id=l.id WHERE l.id='$level'");
foreach($db->getData() as $data){
extract($data);
$level_classes.="<option value='$id'>$class_name $class</option>";
}
}elseif(isset($_POST['classes'])){
$class=$_POST['classes'];
$db->query("SELECT s.id,s.name FROM class_subjects cs l JOIN subjects s ON s.id=cs.subject_id WHERE cs.class_id='$class' ORDER BY s.name");
foreach($db->getData() as $data){
extract($data);
$class_subjects .="<option value='$id'>$name</option>";
}
}elseif(isset($_POST['subjects'])){
$class=$_POST['classes'];
$db->query("SELECT s.id,s.name FROM class_subjects cs l JOIN subjects s ON s.id=cs.subject_id WHERE cs.class_id='$class' ORDER BY s.name");
foreach($db->getData() as $data){
extract($data);
$class_subjects .="<option value='$id'>$name</option>";
}
}
echo '<?xml version= "1.0" encoding="utf-8" standalone="yes" ?>';
echo "<classes>".htmlentities($level_classes)."</classes>";
echo "<subjects>".htmlentities($class_subjects)."</subjects>";
使用上面的代码,我得到的错误部分比jQuery ajax的成功部分更有效。我哪里错了