作者chrismaggie (中仔)
看板Ajax
标题Re: [问题] 请问jquery的cascade选单应用
时间Tue Sep 23 01:13:48 2008
不好意思.我的资料讲的并不完全.我重新上传,测试业面如下
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
1F:推 TonyQ:看起来是你的目标页没有正确回传资料 , 要追一下源头. 09/23 01:25
※ 编辑: chrismaggie 来自: 220.132.218.94 (09/23 02:16)
2F:→ chrismaggie:谢谢T大~我找到原因了~谢谢 09/23 02:16
3F:→ TonyQ:不会 , 有找到原因就好.^^ 09/23 02:20
4F:推 superGA:TonyQ又厉害又热心 可以跟你告白吗..>////< 09/23 06:05
5F:→ TonyQ:不行,我有女友 , 还有程式、吉他、电脑当我的小老婆,很忙XD 09/23 10:49
6F:→ TonyQ:没有啦 , 解实务题是我的兴趣 , 能帮上忙当然是最好罗.:p 09/23 10:50