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("<option value=\"\">请选择省</option>");
|
$(".shi",panel).empty().append("<option value=\"\">请选择市</option>");
|
$(".qu",panel).empty().append("<option value=\"\">请选择县/区</option>");
|
$.get(settings.pre+"/interface/datadictionary/getAreaList.html",{},function(data){
|
var html = "<option value=\"\">请选择省</option>";
|
for(var i=0;i<data.length;i++){
|
html = html + "<option value=\"" + data[i]["ID"] + "\"" + (d&&d==data[i]["ID"]?"selected=\"true\"":"") + ">" + data[i]["ADDRESS_NAME"] + "</option>";
|
}
|
$(".sheng",panel).empty().append(html);
|
initName($(".sheng",panel),1);
|
},'json');
|
}
|
function loadShi(p,d){
|
var html = "<option value=\"\">请选择市</option>";
|
if(p!="") {
|
$(".qu",panel).empty().append("<option value=\"-1\">请选择县/区</option>");
|
$.get(settings.pre+"/interface/datadictionary/getAreaList.html",{"fatherid":p},function(data){
|
for(var i=0;i<data.length;i++){
|
html = html + "<option value=\"" + data[i]["ID"] + "\"" + (d&&d==data[i]["ID"]?"selected=\"true\"":"") + ">" + data[i]["ADDRESS_NAME"] + "</option>";
|
}
|
$(".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 = "<option value=\"\">请选择县/区</option>";
|
if(c!="") {
|
$.get(settings.pre+"/interface/datadictionary/getAreaList.html",{"fatherid":c},function(data){
|
for(var i=0;i<data.length;i++){
|
html = html + "<option value=\"" + data[i]["ID"] + "\"" + (d&&d==data[i]["ID"]?"selected=\"true\"":"") + ">" + data[i]["ADDRESS_NAME"] + "</option>";
|
}
|
$(".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);
|
});
|
});
|
};
|