作者chrismaggie (中仔)
看板Ajax
标题[问题] 请问jquery的cascade选单应用
时间Mon Sep 22 22:39:06 2008
请教一个JQUERY问题,我是要利用jquery cascade 做下拉选单,我参考以下的教学
http://blog.roodo.com/taikobo0/archives/6166625.html#comment-17328949
把它改成我的资料库型式.首先我引入JS档案,我有下回来并放在jquery资料夹中
test.php
<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>
下拉栏位程式码为
<div>
<p>第一项
<select id="myParentSelect">
<option value="">请选择</option>
<?php
// 资料库设定,连到我的mysql资料库并拉出资料表
$host_sql = "localhost";
$username_sql = "root";
$password_sql = "XXX";
$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 id="myFirstChildSelect">
<option value="">请选择</option>
</select>
</div>
然後引入JS
<script type="text/javascript">
$(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>
action.php部分
<?php
// 资料库设定并拉出子阶层选单的资料表
$host_sql = "localhost";
$username_sql = "root";
$password_sql = "XXX";
$link = mysql_connect($host_sql, $username_sql, $password_sql) or die("无法连
结资料库");
mysql_select_db('mio', $link);
if (!empty($_POST['act'])) {
$action = $_POST['act'];
}
if (!empty($_POST['val'])) {
$parentId = $_POST['val'];
}
list = '[';
switch ($action) {
case 'first':
$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"] . '\'},';
}
break;}
$list .= ']';
echo $list;
?>
只是这样test.php中的下拉选单还是只有第一层有资料....第二层还是空空的没选项
满好奇那个教学的...那个$list怎麽传给test.php用?
有高手知道哪边需要修正吗?可否指点一下.谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.218.94
※ 编辑: chrismaggie 来自: 220.132.218.94 (09/22 22:39)