您好:
我照您的程式做,但我選了第一層的系所類別條件後,第二個條件的地方會變灰的,不會出現教師名稱,狀況如
http://140.121.175.3...est2.php網址所示。
在test2.php及action.php都有加入下面那一行的指令
<?php require_once('Connections/cosar.php'); ?>
並且在Connections資料夾內亦有cosar.php這個檔案
test2.php程式碼如下
<?php require_once('Connections/cosar.php');//引入資料庫連結檔 ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>國立臺灣海洋大學海洋科學與資源學院教師著作目錄</title>
<script type="text/javascript" src="jquery/jquery.js"></script>
<script type="text/javascript" src="jquery/jquery.cascade.js"></script>
<script type="text/javascript" src="jquery/jquery.cascade.ext.js"></script>
<script type="text/javascript" src="jquery/jquery.templating.js"></script>
</head>
<body>
<select name="faculty[]" id="faculty">
<option value="">系所</option>
<?php
mysql_select_db($database_cosar, $cosar);
$query = sprintf("SELECT DISTINCT faculty FROM ref");
$result = mysql_query($query, $cosar);//資料庫設定結束
//撈出資料庫廠商類別的值
while ($row = mysql_fetch_assoc($result)) { echo '<option value="' . $row["faculty"] . '">' . $row["faculty"] . '</option>' . "\n"; }?></select>
<select name="name_c[]" id="name_c"><option value="">教師</option></select>
<script>
jQuery(document).ready(function(){ $('#name_c').cascade('#faculty', {
ajax: { type: "GET", url: 'action.php',
data: { act: 'first', val: $('#faculty').val() } },
template: function(item) { return "<option value='" + item.Value + "'>" + item.Text + "</option>"; },
match: function(selectedValue) { return this.When == selectedValue; } });});</script>
</body>
</html>
action.php程式碼如下:
<?php require_once('Connections/cosar.php'); ?>
<?php
header('Content-Type:text/html;charset=utf-8');
// 資料庫設定
mysql_select_db($database_cosar, $cosar);
if (!empty($_GET['act'])) {
$action = $_GET['act'];
}
if (!empty($_GET['val'])) {
$parentId = $_GET['val'];
}
$list = '['; switch ($action) {
case 'first':
$query = sprintf("SELECT DISTINCT name_c FROM ref WHERE faculty = '$parentId' AND name_c!='' ORDER BY name_c ASC");
$result = mysql_query($query, $cosar);
while ($row = mysql_fetch_assoc($result)) {
$list .= '{\'When\':\'' . $parentId . '\',\'Value\':\'' . $row["name_c"] . '\',\'Text\':\'' . $row["name_c"] . '\'},';
}
break;
}
$list .= ']';
echo $list;
?>
資料格式欄位如下:
欄位 型態 校對 屬性 Null 預設值 附加 執行
refID int(10) 否 auto_increment
fac_num int(10) 是 NULL
tea_num int(10) 是 NULL
name_c varchar(255) utf8_general_ci 是 NULL
name_e varchar(255) utf8_general_ci 是 NULL
faculty varchar(255) utf8_general_ci 是 NULL
Year varchar(255) utf8_general_ci 是 NULL
Month varchar(255) utf8_general_ci 是 NULL
Journal varchar(255) utf8_general_ci 是 NULL
Title varchar(255) utf8_general_ci 是 NULL
volumn varchar(255) utf8_general_ci 是 NULL
page varchar(255) utf8_general_ci 是 NULL
實在找不出問題到底出在那裏。另外這個方式除了能做動態下拉式選單,相關的檔案是否會跟著變動,如選擇某一系所後,列出該系所所有教師,再點選老師,則會將該位老師的相關著作都列出,語法會很困難嗎。
敬請賜教,謝謝。