Re: [問題] 請問jquery的cascade選單應用

看板Ajax作者 (中仔)時間17年前 (2008/09/23 01:13), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串4/7 (看更多)
不好意思.我的資料講的並不完全.我重新上傳,測試業面如下 http://www.fashion.ntut.edu.tw/mio/photos/test.php jquery分為test.php跟action.php兩個部分 test.php有兩個選單,第一項跑出廠商類別.第二項跑出該類別之廠商名稱 原始碼如下 <html> <head> <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> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <title>Administrative Website</title> </head> <body> <p>第一項 <select name="myParentSelect" id="myParentSelect"> <option value="">請選擇</option> <?php // 資料庫設定 $host_sql = "localhost"; $username_sql = "root"; $password_sql = "tourist"; $link = mysql_connect($host_sql, $username_sql, $password_sql) or die("無 法連結資料庫"); mysql_select_db('mio', $link); $query = "SELECT DISTINCT class1 FROM company"; $result = mysql_query($query, $link); while ($row = mysql_fetch_assoc($result)) { echo '<option value="' . $row["class1"] . '">' . $row["class1"] . '</option>' . "\n"; } ?> </select> 第二項 <select name="myFirstChildSelect" id="myFirstChildSelect"> <option value="">請選擇</option> </select> </div> <script> jQuery(document).ready(function(){ $('#myFirstChildSelect').cascade('#myParentSelect', { ajax: { type: "post", url: 'action.php', data: { act: 'first', val: $('#myParentSelect').val() } }, template: function(item) { return "<option value='" + item.Value + "'>" + item.Text + "</option>"; }, match: function(selectedValue) { return this.When == selectedValue; } }); }); </script> </body> </head> </html> action.php為 <?php // 資料庫設定 $host_sql = "localhost"; $username_sql = "root"; $password_sql = "tourist"; $link = mysql_connect($host_sql, $username_sql, $password_sql) or die("無 法連結資料庫"); mysql_select_db('mio', $link); if (!empty($_GET['act'])) { $action = $_GET['act']; } if (!empty($_GET['val'])) { $parentId = $_GET['val']; } $list = '['; $query = "SELECT C_name FROM company WHERE class1= '$parentId'"; $result = mysql_query($query, $link); while ($row = mysql_fetch_assoc($result)) { $list .= '{\'When\':\'' . $parentId . '\',\'Value\':\'' . $row["C_name"] . '\',\'Text\':\'' . $row["C_name"] . '\'},'; } $list .= ']'; echo $list; ?> 後來終於修正完畢了~可以讀取到第二層的選單了~!感謝T大指點由SQL語法去echo 後來果然修正了兩個錯誤..一個是$list以及$parentId要加上單引號 這樣就能找到了~真的很謝謝T大!感恩^^ // action.php中mysql語法要拉出C_name(廠商名稱),然後根據$parentId選擇的class1 類別名稱去過濾,目前問題在於,test.php終只能顯示第一層下拉選單資料,就是 廠商類別,而下拉選項後,第二層並無資料顯示且呈現反白無法選擇.. 目前還在尋找錯誤中..不知道哪邊出問題... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.218.94

09/23 01:25, , 1F
看起來是你的目標頁沒有正確回傳資料 , 要追一下源頭.
09/23 01:25, 1F
※ 編輯: chrismaggie 來自: 220.132.218.94 (09/23 02:16)

09/23 02:16, , 2F
謝謝T大~我找到原因了~謝謝
09/23 02:16, 2F

09/23 02:20, , 3F
不會 , 有找到原因就好.^^
09/23 02:20, 3F

09/23 06:05, , 4F
TonyQ又厲害又熱心 可以跟你告白嗎..>////<
09/23 06:05, 4F

09/23 10:49, , 5F
不行,我有女友 , 還有程式、吉他、電腦當我的小老婆,很忙XD
09/23 10:49, 5F

09/23 10:50, , 6F
沒有啦 , 解實務題是我的興趣 , 能幫上忙當然是最好囉.:p
09/23 10:50, 6F
文章代碼(AID): #18rz9Dqk (Ajax)
文章代碼(AID): #18rz9Dqk (Ajax)