真正智能无限级下拉框生成(地域、各种分类),调用简单方便,随心所欲生成你想要的结果。
使用ajax无刷技术、mysql,目前我是没有见过有人写出这样的代码,中国主流的cms系统都没有此功能。欢迎技术指导。
如果想无限级的话把两个“ && i < 5”删除掉就行了,发布的时候忘记了删除了
前端代码:
<html>
<head></head>
<script src="__PUBLIC__/jquery.min.js"></script>
<script src="__PUBLIC__/select.js"></script>
<body>
<form>
<div id="heizai">地区:</div>
<div id="jx">药品剂型:</div>
<div id="ly">来源:</div>
<div id="qy">企业业务:</div>
</form>
</body>
<script>
$(function(){
var data = [10006, 10135];
initial(10001, "heizai", data);
data = [3, 28];
initial(1, "jx", data);
initial(64, "ly", "");
initial(51, "qy", "");
});
</script>
</html>
js代码:// 初始化
var data = new Array(); // 数据
var html = ""; // html代码
var i = 0; // 循环变量
// $(function(){
// initial();
// });
// AJAX获取分类
function getList(pid, name){
$.ajax({
url:'http://localhost/med/',
async:false,
type:'post',
data:{'pid':pid},
success:function(data){
if (data != '') {
html = "<select name='" + name + "[]' onchange='change($(this).index(), $(this).val(), $(this).attr(\"name\"))'>"
$.each(data, function(index, list){
html += "<option value='" + list.id + "'>" + list.title + "</option>";
})
html += "</select>";
} else {
html = "";
}
}
});
return html;
};
// 循环输出分类
function initial(pid, name, data){
html = getList(pid, name);
$("#"+name).append(html);
while(html != "" && i < 5){
if (data[i] != undefined && data[i] != '') {
pid = data[i];
$("select[name='"+name+"[]']:eq("+i+")").val(pid);
} else {
pid = $("select[name='"+name+"[]']:eq("+i+")").val();
};
html = getList(pid, name);
$("#"+name).append(html);
i++;
};
i = 0;
};
// 选择事件
function change(index, pid, name){
$("select[name='" + name + "']:gt(" + index + ")").remove();
var new_name = name.replace("[]", "");
html = getList(pid, new_name);
i = index;
while(html != '' && i < 5){
$("#"+new_name).append(html);
i++;
pid = $("select[name='" + name + "']:eq(" + i + ")").val();
html = getList(pid, new_name);
}
};
php代码: public function index(){
if (IS_POST) {
$type = M('Type');
$map['parentid'] = I('pid');
$list = $type->where($map)->field('id,title')->select();
$this->ajaxReturn($list);
} else {
$this->display();
}
}

源码分享20160719173824.zip
( 65.16 KB 下载:241 次 )