今天工作需要 要写树形的联动,于是写了个可扩展的无限极联动下拉选项
代码写的比较凌乱 先mark 有空再整理

操蛋!
立即学习“PHP免费学习笔记(深入)”;
公司连QQ都不能上 随便截个图!
先贴数据库
| id | category_name 分类名 | pid 父分类id | orders 排序 |
|---|---|---|---|
| 1 | 22223331 | 0 | 1 |
| 2 | 2222111 | 1 | 1 |
| 12 | 44444 | 11 | 0 |
| 5 | 2222 | 1 | 1 |
| 6 | 2222 | 1 | 1 |
| 11 | 333 | 2 | 0 |
| 13 | 555555 | 12 | 0 |
页面代码 用的SMARTY
<span><span div><span id><span> <span>
<span><span select><span name><span><span id><span><span onchange><span><span>
<span><span option><span>请选择分类<span><span option><span>
<span><span from="$galleryCategory" item="category}"><span>
<span><span option><span value><span><span>{$category.category_name}<span><span option><span>
<span><span><span>
<span><span select><span>
<span><span div><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span>$galleryCategory 去数据的PHP代码为<br><br></span>
$sql = " select * from yl_gallery_category where pid = 0";
$galleryCategory = $db->query($sql);
$smarty->assign("galleryCategory",$galleryCategory);
给辞职的同事的项目擦屁股 用的原生态代码 还是比较容易理解的
然后就是关键的 JS代码了 change(val) {
<em id="__mceDel"><span var> str = val; <span><span select>
<span var> num; <span><span>
<span var> id; <span><span>
num = str.substr(9,10<span><span><span alert>
<span var> nownum = parseInt(num)+1; <span><span>
id = $("#"+str+""<span><span var> r = /^[1-9]+[0-9]*]*$/; <span><span>
<span if> (!<span r.test><span><span>
$("select").each(<span function><span><span if>(index+1 ><span num><span this><span><span return> <span false><span><span var> url = 'gallery.php?act=category&pid='+<span id type:>"POST"<span cache:><span false><span url: url datatype :>'json'<span timeout :>3000<span success:><span function><span><span if> ( result != 0<span><span var> html = "<select name=category_"+nownum+" id=category_"+nownum+" onChange=change('category_"+nownum+"'); >"<span html>+= "<option>请选择分类 </option>"<span><span var> datas =<span eval><span function><span html>+= "<option value='"+val.id+"' >"+val.category_name+"</option>"<span html>+= "</select>"<span><span><span>
$("select").each(<span function><span><span if>(index+1 ><span num><span this><span>"#select"<span else></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></em><span> //</span><span>清空过时的选项</span>
$("select").each(<span>function</span><span>(index){
</span><span>if</span>(index+1 ><span> num) {
$(</span><span>this</span><span>).remove();
}
})</span><span error:><span false><span></span></span></span>
AJAX 取数据的PHP代码
$sql = " select * from yl_gallery_category where pid = " .$pid;
$res = $db->query($sql);
if (empty($res)) {
$res = 0;
}
echo json_encode($res);
OK 大功告成!
<span><br><br></span>











