搜索
系统检测到您的用户名不符合规范:

ajax真正智能无限级下拉框生成(地域、各种分类)

浏览:3161 发布日期:2016年07月19日 分类:功能实现 关键字: ajax智能无限级下拉框生成
真正智能无限级下拉框生成(地域、各种分类)秒杀所有联动下拉框,调用简单方便。
真正智能无限级下拉框生成(地域、各种分类),调用简单方便,随心所欲生成你想要的结果。
使用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 次 )

收藏
尽责至善
积分:694 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /