164 lines
5.3 KiB
JavaScript
164 lines
5.3 KiB
JavaScript
$('[name="adres"]').kladr({
|
|
oneString: true,
|
|
labelFormat: function (obj, query) {
|
|
var label = '';
|
|
|
|
var name = obj.name.toLowerCase();
|
|
query = query.name.toLowerCase();
|
|
|
|
var start = name.indexOf(query);
|
|
start = start > 0 ? start : 0;
|
|
|
|
if (obj.parents) {
|
|
for (var k = 0; k < obj.parents.length; k++) {
|
|
var parent = obj.parents[k];
|
|
if (parent.contentType !== "region" && parent.contentType !== "cityOwner" && parent.name) {
|
|
if (label) {
|
|
label += ', ';
|
|
}
|
|
label += parent.typeShort + '.' + ' ' + parent.name;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (label) {
|
|
label += ', ';
|
|
}
|
|
|
|
if (obj.typeShort) {
|
|
label += obj.typeShort + '. ';
|
|
}
|
|
|
|
if (query.length < obj.name.length) {
|
|
label += obj.name.substr(0, start);
|
|
label += '<strong>' + obj.name.substr(start, query.length) + '</strong>';
|
|
label += obj.name.substr(start + query.length, obj.name.length - query.length - start);
|
|
} else {
|
|
label += '<strong>' + obj.name + '</strong>';
|
|
}
|
|
|
|
return label;
|
|
},
|
|
valueFormat : function (obj, query) {
|
|
var label = '';
|
|
|
|
var name = obj.name.toLowerCase();
|
|
query = query.name.toLowerCase();
|
|
|
|
var start = name.indexOf(query);
|
|
start = start > 0 ? start : 0;
|
|
|
|
if (obj.parents) {
|
|
for (var k = 0; k < obj.parents.length; k++) {
|
|
var parent = obj.parents[k];
|
|
if (parent.contentType !== "region" && parent.contentType !== "cityOwner" && parent.name) {
|
|
if (label) {
|
|
label += ', ';
|
|
}
|
|
label += parent.typeShort + '.' + ' ' + parent.name;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (label) {
|
|
label += ', ';
|
|
}
|
|
|
|
if (obj.typeShort) {
|
|
label += obj.typeShort + '. ';
|
|
}
|
|
|
|
if (query.length < obj.name.length) {
|
|
label += obj.name.substr(0, start);
|
|
label += obj.name.substr(start, query.length);
|
|
label += obj.name.substr(start + query.length, obj.name.length - query.length - start);
|
|
} else {
|
|
label += obj.name;
|
|
}
|
|
|
|
return label;
|
|
},
|
|
select : function( obj ) {
|
|
if (obj) {
|
|
$('#kladr_id').val(obj.id);
|
|
if ($('#dom').length > 0) {
|
|
if (obj.contentType === 'building') {
|
|
|
|
var litera = "";
|
|
var korpus = "";
|
|
|
|
var literaIndex = obj.name.indexOf("литера");
|
|
var korpusIndex = obj.name.indexOf("корпус");
|
|
|
|
if (literaIndex > 0) {
|
|
var literaResult = obj.name.split("литера");
|
|
if (literaResult && literaResult.length > 1) {
|
|
litera = $.trim(literaResult[1]);
|
|
obj.name = $.trim(literaResult[0]);
|
|
}
|
|
}
|
|
if (korpusIndex > 0) {
|
|
var korpusResult = obj.name.split("корпус");
|
|
if (korpusResult && korpusResult.length > 1) {
|
|
korpus = $.trim(korpusResult[1]);
|
|
obj.name = $.trim(korpusResult[0]);
|
|
}
|
|
}
|
|
$('#dom').val(obj.name);
|
|
$('#litera').val(litera);
|
|
$('#korpus').val(korpus);
|
|
var label = '';
|
|
if (obj.parents) {
|
|
for (var k = 0; k < obj.parents.length; k++) {
|
|
var parent = obj.parents[k];
|
|
if (parent.contentType !== "region" && parent.contentType !== "cityOwner" && parent.name) {
|
|
if (label) {
|
|
label += ', ';
|
|
}
|
|
label += parent.typeShort + '.' + ' ' + parent.name;
|
|
}
|
|
}
|
|
if (label) {
|
|
$('#adres').val(label);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
$('#kladr_id').val("");
|
|
if ($('#dom').length > 0) {
|
|
$('#dom').val("");
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
$('[name="kladr_type"]').change(function () {
|
|
changeObl($(this).val(),$(this).attr('id'));
|
|
});
|
|
|
|
if($('[name="kladr_type"]:checked').val()){
|
|
changeObl($('[name="kladr_type"]:checked').val(),$('[name="kladr_type"]:checked').attr('id'));
|
|
}else{
|
|
$('label[for=kladr_2]').parent().addClass("selected")
|
|
$('label[for=kladr_2]').click()
|
|
}
|
|
|
|
function changeObl(value,type) {
|
|
console.log(value,type)
|
|
if(type == "kladr_1"){
|
|
$('[name="adres"]').kladr({
|
|
parentType: $.kladr.type.region,
|
|
parentId: value,
|
|
withParents: true
|
|
});
|
|
}else if(type == "kladr_2"){
|
|
$('[name="adres"]').kladr({
|
|
parentType: $.kladr.type.region,
|
|
parentId: value,
|
|
withParents: true
|
|
});
|
|
}
|
|
|
|
} |