jQuery.fn.ssq = function(opts){
var settings = $.extend({
pre:''
},opts||{});
return this.each(function(indx,elem){
var panel = $(this);
function loadSheng(d){
$(".sheng",panel).empty().append("");
$(".shi",panel).empty().append("");
$(".qu",panel).empty().append("");
$.get(settings.pre+"/interface/datadictionary/getAreaList.html",{},function(data){
var html = "";
for(var i=0;i" + data[i]["ADDRESS_NAME"] + "";
}
$(".sheng",panel).empty().append(html);
initName($(".sheng",panel),1);
},'json');
}
function loadShi(p,d){
var html = "";
if(p!="") {
$(".qu",panel).empty().append("");
$.get(settings.pre+"/interface/datadictionary/getAreaList.html",{"fatherid":p},function(data){
for(var i=0;i" + data[i]["ADDRESS_NAME"] + "";
}
$(".shi",panel).empty().append(html);
loadQu("");
initName($(".shi",panel),2);
},'json');
} else {
$(".shi",panel).empty().append(html);
loadQu("");
initName($(".shi",panel),2);
}
}
function loadQu(c,d){
var html = "";
if(c!="") {
$.get(settings.pre+"/interface/datadictionary/getAreaList.html",{"fatherid":c},function(data){
for(var i=0;i" + data[i]["ADDRESS_NAME"] + "";
}
$(".qu",panel).empty().append(html);
initName($(".qu",panel),3);
},'json');
}
}
function initName(elem,i) {
if(settings.callback) {
var data;
var v = elem.find("option:selected").val();
if(v=="") {
data == "";
} else {
data = elem.find("option:selected").text();
}
settings.callback(i,data);
}
}
//初始化默认值为0
var def = {sheng:"",shi:"",qu:""};
//判断各下拉框是否有def属性,如果有,则认为是默认值,获取
if($(".sheng",panel).attr("def"))def.sheng = $(".sheng",panel).attr("def");
if($(".shi",panel).attr("def"))def.shi = $(".shi",panel).attr("def");
if($(".qu",panel).attr("def"))def.qu = $(".qu",panel).attr("def");
if($(".sheng",panel).attr("def")&& $(".shi",panel).attr("def") && $(".qu",panel).attr("def")) {
loadSheng(def.sheng);loadShi(def.sheng,def.shi);loadQu(def.shi,def.qu);
} else {
loadSheng(def.sheng);
}
//绑定事件
$(".sheng",panel).change(function(){
initName($(this),1);
return function(p){
loadShi(p.val());
}($(this));
});
$(".shi",panel).change(function(){
initName($(this),2);
return function(c){
loadQu(c.val());
}($(this));
});
$(".qu",panel).change(function(){
initName($(this),3);
});
});
};