今天工作需要 要寫樹形的聯動,於是寫了個可擴展的無限極聯動下拉選項
代碼寫的比較凌亂 先mark 有空再整理
操蛋!
公司連QQ都不能上 隨便截個圖!
先貼數據庫
頁面代碼 用的SMARTY
請選擇分類 {$category.category_name}
$galleryCategory 去數據的PHP代碼為
$sql = " select * from yl_gallery_category where pid = 0"; $galleryCategory = $db->query($sql); $smarty->assign("galleryCategory",$galleryCategory);
給辭職的同事的項目擦屁股 用的原生態代碼 還是比較容易理解的
然後就是關鍵的 JS代碼了 change(val) {
str = val; num; id; num = str.substr(9,10 nownum = parseInt(num)+1; id = $("#"+str+"" r = /^[1-9]+[0-9]*]*$/; (! $("select").each((index+1 > url = 'gallery.php?act=category&pid='+"POST"'json'3000 ( result != 0 html = "<select name=category_"+nownum+" id=category_"+nownum+" onChange=change('category_"+nownum+"'); >"+= "<option>請選擇分類 </option>" datas =+= "<option value='"+val.id+"' >"+val.category_name+"</option>"+= "</select>" $("select").each((index+1 >"#select"
//清空過時的選項 $("select").each(function(index){ if(index+1 > num) { $(this).remove(); } })
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 大功告成!