0
我有2个表(分别是登录表和主题表)。输入字段具有会话用户的ID(来自登录表),而第一个下拉列表包含分配给他/她的所有类(来自主题表)。如果可能的话,我怎样才能将所有分配给每个类的主题收集到第二个下拉列表中,然后从主题表中使用ajax。注:(主题表有课程,科目,职员)。下面是我的代码:如何使用输入字段值和另一个下拉列表值将记录获取到下拉列表
<td class="header">TEACHER ID:</td>
<td>
<label>
<input type="text" name="staffid" class="input_txt" id="teachID" value="
<?php echo $staffDetails->staffID; ?>"></label>
</td>
<td class="header">CLASS:</td>
<td>
<select name="txtclassname" class="input_txt" id="class">
<option value="">-- Select Class --</option>
<?php
$staff = $staffDetails->staffID;
$stmt = $db->prepare("SELECT distinct className FROM subjects WHERE staffID = :sid");
$stmt->execute(array("sid"=>$staff));
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
?>
<option value=""><?php echo $row['className']; ?></option>
<?php
}
?>
</select>
</td>
<td class="header">SUBJECTS:</td>
<td>
<!--I need all the subjects for a chosen class here-->
<select name="txtclassname" class="input_txt" id="class">
<option value="">--</option>
</select>
</td>
修改后的JavaScript代码:
<script type="text/javascript">
$(document).on('change', '#staffclass', function(){
if($(this).val() !==""){
$.ajax('get_staffSubjects.php?staffclass='+ $(this).val()).done(function(jsonOrHtml)){
var JSON = JSON.parse(jsonOrHtml);
var subjectSelect = $('#subject');
subjectSelect.html('<option value="">--Select Subject--</option>');
for(var i=0; i<json.length; i++){
subjectSelect.append('<option value="">'+json[i]+'</option>');
}
});
}
);
</script>
我的服务器端脚本(名为:get_staffSubjects.php)
<?php
require_once 'myConn.php';
require_once 'session.php';
$db = getDB();
if(($_POST['staffclass']) & ($_POST['teachID']))
{
$staff = $_POST['teachID'];
$subs = $_POST['staffclass'];
$stmt = $db->prepare("SELECT * FROM subjects WHERE className=:staffclass AND staffID=:teachID");
$stmt->execute(array('id'=>$subs, 'teachID'=>$staff));
?>
<option value="">Select Subject:</option>
<?php
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{
?>
<option value=""><?php echo $row['subName']; ?></option>
<?php
}
}
?>
感谢您的及时回复。我会尽快与您的代码联系。 – LoveJESUS
更多阅读jQuery ajax可以在这里找到:[jquery.ajax()](http://api.jquery.com/jquery.ajax/) – kennasoft
我已经尝试过,但主题下拉列表根本没有改变 – LoveJESUS