рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓рдХреНрд╖реНрдпреАрдХрд░рдг: рдХреНрд╖реЗрддреНрд░, рд╢рд╣рд░, рд╕рдбрд╝рдХ

рдХрднреА-рдХрднреА рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдореИрдВ рдХреБрдЫ рднреМрдЧреЛрд▓рд┐рдХ рдЖрдзрд╛рд░ рдХреЛ рдЬрдХрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдореИрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдирдХреЗ рд░рд╣рдиреЗ рдХреА рдЬрдЧрд╣ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдорд▓реЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░ рд╡реНрдпрд╕реНрддрддрд╛ рдиреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рдЪрд╛рд░ рдХреЛ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ред

рднрд╛рдЧреНрдп рдФрд░ рдЧреНрд░рд╛рд╣рдХ (рдпрд╛ рдЧреНрд░рд╛рд╣рдХ рдпрд╛ рднрд╛рдЧреНрдп рдХреЗ рдЧреНрд░рд╛рд╣рдХ) рдХреА рдЗрдЪреНрдЫрд╛ рд╕реЗ, рдРрд╕рд╛ рдХрд╛рд░реНрдп рдЕрдВрддрддрдГ рдЙрддреНрдкрдиреНрди рд╣реБрдЖ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЦрдВрдбрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖реЗрддреНрд░реЛрдВ, рд╢рд╣рд░реЛрдВ рдФрд░ рд╕рдбрд╝рдХреЛрдВ рдХрд╛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдирд╛ рдФрд░ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡реЗрдм-рдлрд╝реЙрд░реНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЧреНрд░рд╛рд╣рдХ рдиреЗ рдЕрдкрдиреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЛ рд░реВрд╕ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ рдХрд╛рд░реНрдп рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд┐рдпрд╛ред







рд░реВрд╕реА рд╕рдВрдШ рдХреЗ рдШрдЯрдХ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЗрдВрдЯрд░рдиреЗрдЯ рдЦреЛрдЬ рдиреЗ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд▓рд╛рдпрд╛ - рдореБрдЭреЗ KLADR рдбреЗрдЯрд╛рдмреЗрд╕ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рдирд┐рдХрд▓рд╛ред рдореИрдВ рдЖрдЧреЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ KLADR рдХреА рдореГрддреНрдпреБ рдХреЗ рдмрд╛рдж рдореИрдВ рд▓рдбрд╝рдЦрдбрд╝рд╛ рдЧрдпрд╛, рд▓рдВрдмреЗ рд╕рдордп рддрдХ FIAS рд░рд╣рд╛? ред рдзрдиреНрдпрд╡рд╛рдж sergpenza , рдЕрдм рд╡рд╣рд╛рдБ рд╣реИ рдЬрд╣рд╛рдБ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП!



FIAS рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рдкреВрд░реНрдг рдФрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд┐рдХрд▓рд╛, рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ - рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИред рдЖрдзрд╛рд░ рдХрд╛ рдПрдХ рдФрд░ рдорд╛рдЗрдирд╕ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ "рдлреНрд▓реИрдЯ" рд╣реИ: рдореБрдЦреНрдп рдкреНрд▓реЗрдЯ ADDROBJ.dbf рд╣реИ, рдЗрд╕рдореЗрдВ рдХреНрд╖реЗрддреНрд░, рдЬрд┐рд▓реЗ, рд╢рд╣рд░ рдФрд░ рд╕рдбрд╝рдХреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рдм рдЦреБрдж рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдХ рдФрд░ рдорд╛рдЗрдирд╕ - рдЗрд╕рдореЗрдВ рд░реВрд╕реА рд╕рдВрдШ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд░рд▓ рд╣реИ - рдЙрдиреНрд╣реЗрдВ рд░реВрд╕ рдХреЗ GNIVTS рд╕рдВрдШреАрдп рдХрд░ рд╕реЗрд╡рд╛ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдореИрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд░рд┐рд▓реЗрд╢рдирд▓ рд╡реНрдпреВ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирд╣реАрдВ рдЧрдпрд╛ - рдпрд╣ рдПрдХ рд░реВрдЯреАрди рд╣реИ, рдФрд░ рдореЗрд░реА рдкреЛрд╕реНрдЯ рдХреЗ рдиреАрдЪреЗ рддреИрдпрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рд▓рд┐рдВрдХ рд╣реИред



рд╡рд╣рд╛рдБ рдЙрддреНрдХреГрд╖реНрдЯ рдЖрдзрд╛рд░ред рд╡реЗрдм рдХреЗ рддрд╣рдд рдЗрд╕рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЗрд╕ рднрд╛рдЧ рдкрд░ рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдКрдВрдЧрд╛ред

рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдлреНрд░рдВрдЯ рдФрд░ рдмреИрдХ рдПрдВрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред



  1. рд╕рд╛рдордиреЗ рдХрд╛ рдЫреЛрд░ html, js, jQuery рд╣реИ
  2. MS рд╕реЗ рдмреИрдХ-рдПрдВрдб MVC (c #)




рд╕рд╛рдордиреЗ рдХрд╛ рдЫреЛрд░



рдХрд╛рд░реНрдп: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдкрдиреЗ рд░рд╣рдиреЗ рдХреА рдЬрдЧрд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рднрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд╣ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХреНрд╖реЗрддреНрд░, рд╢рд╣рд░ рдФрд░ рд╕рдбрд╝рдХ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдЧрд╛ред

рд╢рд╣рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ (160k рд╕реЗ рдЕрдзрд┐рдХ) рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╢рд╣рд░ рдореЗрдВ рд╕рдбрд╝рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдХрд╛рд░реНрдп рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рддрдВрддреНрд░ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рди рдХреЗрд╡рд▓ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдХрд╡рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд▓реНрдХрд┐ рд╕рдбрд╝рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╢рд╣рд░реЛрдВ рдХреЛ рднреАред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рддрдВрддреНрд░ рдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рд╕рд╣реА рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЬреБрдбрд╝реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Jquery.locateme.js рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдирд╛рдо рджреЗрдВред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдирд╛рдо рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ jQuery рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореБрдЭреЗ рд╡рд┐рдЪрд╛рд░ рдерд╛ рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ jQuery рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧ-рдЗрди рд▓рд┐рдЦрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред



рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП:



рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдХрдВрдХрд╛рд▓)
var locateMe = function (wrapperName, fieldName, fieldLabel, url, urlData, applyHandler, cancelHandler) { var _this = this, _urlData = urlData; this.isApplied = false; this.SearchInputLabel = $("<span>").addClass("label").attr("id", fieldName + "_label").html(fieldLabel); this.SearchInput = $("<input/>").addClass("input_search").attr("id", fieldName).attr("type", "text"); this.SearchInputTip = $("<input/>").addClass("input_search_tip").attr("id", fieldName + "_tip").attr("type", "text"); this.SearchResultsTipId = $("<input/>").attr("id", fieldName + "_tip_id").attr("type", "hidden"); this.SearchResults = $("<div>").addClass("results").attr("id", fieldName + "_results"); this.SearchUrl = url; return this; };
      
      







рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд╛рд░реНрдп
 this.Reload = function (reloadValues) { if (reloadValues) { _this.SearchInput.val(""); _this.SearchInputTip.val(""); _this.SearchResultsTipId.val(""); _this.SearchResults.hide().empty(); } _methods.setResultsPosition(); }; this.Dispose = function () { this.isApplied = false; this.SearchInputLabel.remove(); this.SearchInput.unbind().remove(); this.SearchInputTip.remove(); this.SearchResultsTipId.remove(); this.SearchResults.unbind().remove(); _this = null; } this.Disable = function (setDisabled) { if (setDisabled) { this.SearchInput.val("").attr("disabled", "disabled"); this.SearchInputTip.val("").attr("disabled", "disabled"); this.SearchResultsTipId.val(""); this.SearchResults.empty().hide(); } else { this.SearchInput.removeAttr("disabled"); this.SearchInputTip.removeAttr("disabled"); } return this; }; this.AjaxRequestParameters = function (data) { _urlData = data; return _urlData; }; this.DefaultValue = function (id, val) { this.SearchResultsTipId.val(id); this.SearchInput.val(val); return this; }; this.Value = function () { return { k: _this.SearchResultsTipId.val(), v: _this.SearchInput.val() }; };
      
      







рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдВ
 var _methods = { setResultsPosition: function () { var inputOffset = _this.SearchInput.offset(), inputSize = _methods.objectWH(_this.SearchInput); _this.SearchResults .css("left", inputOffset.left) .css("top", inputOffset.top + inputSize.height - 2) .css("width", inputSize.width - 2); }, retrieveResults: function (query) { if (query && query.length > 0) { var _data = {}; if (_urlData && typeof (_urlData) === "object") { _data = _urlData, _data.searchquery = query; } else _data = { searchquery: query }; $.ajax({ async: true, url: _this.SearchUrl, type: "POST", data: _data, success: function (response) { _methods.fillResults(response); } }); } }, fillResults: function (arr) { _this.SearchResults.empty().hide(); _this.SearchInputTip.val(""); if (arr && arr.length > 1) { $(arr).each(function (i, o) { _this.SearchResults.append("<div class=\"row\" id=\"" + ok + "\">" + ov + "</div>"); }); _this.SearchResults .find("div") .unbind() .click(function () { $(this).addClass("selected"); _methods.resultsApply(); }).end() .css("height", arr.length * 19).show(); } else if (arr && arr.length == 1) { var searchInputValue = _this.SearchInput.val().length, arrayValue = arr[0].v, arrayKey = arr[0].k, tip = _this.SearchInput.val() + arrayValue.substring(searchInputValue, arrayValue.length); _this.SearchResultsTipId.val(arrayKey); _this.SearchInputTip.val(tip); } }, resultsMove: function (direction) { var currentPosition = -1, resultsCount = _this.SearchResults.find(".row").length - 1; $(_this.SearchResults.children()).each(function (i, o) { if ($(o).hasClass("selected")) { currentPosition = i; return; } }); if (direction == "up") { if (currentPosition > 0) { currentPosition--; _this.SearchResults .find("div.selected").removeClass("selected").end() .find("div:eq(" + currentPosition + ")").addClass("selected"); } } else { if (currentPosition < resultsCount) { currentPosition++; _this.SearchResults .find("div.selected").removeClass("selected").end() .find("div:eq(" + currentPosition + ")").addClass("selected"); } } }, resultsApply: function () { var selectedId = 0; if (_this.SearchResultsTipId.val() != "" || _this.SearchResults.find("div").length > 0) { if (_this.SearchResults.is(":visible")) { selectedId = _this.SearchResults.find(".selected").attr("id"); _this.SearchInput.val(_this.SearchResults.find(".selected").html()); _this.SearchInputTip.val(""); _this.SearchResultsTipId.val(selectedId); _this.SearchResults.empty().hide(); } else { selectedId = _this.SearchResultsTipId.val(); _this.SearchInput.val(_this.SearchInputTip.val()); _this.SearchInputTip.val(""); } if (!_this.isApplied) { if (applyHandler && typeof (applyHandler) === "function") { applyHandler(selectedId); } _this.isApplied = true; } } return selectedId; }, objectWH: function (obj) { var r = { width: 0, height: 0 }; r.height += obj.css("height").replace("px", "") * 1; r.height += obj.css("padding-top").replace("px", "") * 1; r.height += obj.css("padding-bottom").replace("px", "") * 1; r.height += obj.css("margin-top").replace("px", "") * 1; r.height += obj.css("margin-bottom").replace("px", "") * 1; r.height += obj.css("border-top-width").replace("px", "") * 1; r.height += obj.css("border-bottom-width").replace("px", "") * 1; r.width += obj.css("width").replace("px", "") * 1; r.width += obj.css("padding-left").replace("px", "") * 1; r.width += obj.css("padding-right").replace("px", "") * 1; r.width += obj.css("margin-left").replace("px", "") * 1; r.width += obj.css("margin-right").replace("px", "") * 1; r.width += obj.css("border-left-width").replace("px", "") * 1; r.width += obj.css("border-right-width").replace("px", "") * 1; return r; } }; var target = $("." + wrapperName); if (target.length > 0) { target .append(this.SearchInputLabel) .append(this.SearchInput) .append(this.SearchInputTip) .append(this.SearchResultsTipId) .append(this.SearchResults); $(window) .resize(function () { _methods.setResultsPosition(); }) .trigger("resize"); this.SearchInput .keydown(function (e) { var val = _this.SearchInput.val(), valLength = val.length; if (e.which > 32 && e.which != 40 && e.which != 38 && e.which != 9 && e.which != 39 && e.which != 46 && e.which != 13) { return true; } else if (e.which == 8 || // [Backspace] e.which == 46) { // [DELETE] if ((valLength - 1) > 0) { _methods.retrieveResults(val.substring(0, valLength - 1)); } if (_this.isApplied) { _this.isApplied = false; _this.SearchResultsTipId.val(""); if (cancelHandler && typeof (cancelHandler) === "function") { cancelHandler(); } } } else if (e.which == 40) { //тЦ╝ _methods.resultsMove("down"); } else if (e.which == 38) { //тЦ▓ _methods.resultsMove("up"); } else if (e.which == 39) { //тЖТ _methods.resultsApply(); } else if (e.which == 9) { //TAB _methods.resultsApply(); return false; } else if (e.which == 13) { //ENTER _methods.resultsApply(); } }) .keypress(function (e) { var text = _this.SearchInput.val(), pressedChar = String.fromCharCode(e.which || e.keyCode), query = text + pressedChar; _methods.retrieveResults(query); }); }
      
      









рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреГрд╖реНрда рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

 var region = new locateMe("field_wrapper", "field_name", "field_label", "search_URL", search_URL_DATA, applyHandler, cancelHandler);
      
      





field_wrapper - рд╡рд░реНрдЧ рдЪрдпрдирдХрд░реНрддрд╛, рд╢реЗрд▓ рдЬрд┐рд╕рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛

field_name - рдирд┐рдпрдВрддреНрд░рдг рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдирд╛рдо

field_label - рдЦреЛрдЬ рдХреЗ рд╕рд╛рде рдлрд╝реАрд▓реНрдб рдХреЗ рдКрдкрд░ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛

search_URL - рд╡рд╣ URL рдЬреЛ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (POST рд╡рд┐рдзрд┐)

[search_URL_DATA] - рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ search_URL (рдСрдмреНрдЬреЗрдХреНрдЯ) рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛

[applyHandler] - рдлрд╝рдВрдХреНрд╢рди, рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЦреЛрдЬ рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛

[рдХреИрдВрд╕рд▓рд╣реИрдВрдбрд▓рд░] - рдлрд╝рдВрдХреНрд╢рди, рдЬрд┐рд╕реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬрдм рддрдХ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЦреЛрдЬ рдкреВрд░реА рд╣реЛ рдЧрдИ рдереА)



рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 var region = new locateMe("uloc_region", "region", "", "/region", null, function(selectedId){ alert(" ID:" + selectedId); });
      
      





рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, "div" .uloc_region "рдХреНрд╖реЗрддреНрд░" рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝реАрд▓реНрдб рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдпреВрдЖрд░рдПрд▓ "/ рдХреНрд╖реЗрддреНрд░" рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдХреНрд╖реЗрддреНрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рдмрд╛рдж, "рдХреНрд╖реЗрддреНрд░ рдЖрдИрдбреА:% рдХреНрд╖реЗрддреНрд░%" рдкрд╛рда рдХреЗ рд╕рд╛рде рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред



рд╡рд╛рдкрд╕ рдЕрдВрдд



рдЙрджреНрджреЗрд╢реНрдп: рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ (рдХреНрд╖реЗрддреНрд░, рд╢рд╣рд░ рдпрд╛ рд╕рдбрд╝рдХ) рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝реАрд▓реНрдб рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЪрдпрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛

рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдЕрдкрдиреЗ рд╢рд╣рд░ рдХреЛ рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рдореЗрдВ рдЕрдкрдирд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕ рд╕рдордп рдлреНрд░рдВрдЯ-рдПрдВрдб рдХрдВрдЯреНрд░реЛрд▓ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬрдм рдЖрдк рдПрдХ рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдСрдЯреЛ-рдкреВрд░реНрдгрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред



рд╕рдорд╛рдзрд╛рди рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ (рд╕рдорд╛рдзрд╛рди, .sln) рдореЗрдВ 4 рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:







рдмреАрдУ, рдбреАрд╕реА, рдбреАрдкреА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ (рд▓рд╛рдЗрдирдХ, рдбреАрдЯреАрдУ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрджрд░реНрдн) рд╣реИрдВред рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВред

рдпреВрдЖрдИ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЦреЛрдЬ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░



  [HttpPost] public JsonResult Region(string searchquery) { return Json(from i in Database.SearchRegions(searchquery, 5) select new { k = i.Id, v = i.Region }); } [HttpPost] public JsonResult City(int regionId, string searchquery) { return Json(from i in Database.SearchCities(regionId, searchquery, 5) select new { k = i.Id, v = i.City }); } [HttpPost] public JsonResult Street(long cityId, string searchquery) { return Json(from i in Database.SearchStreets(cityId, searchquery, 5) select new { k = i.Id, v = i.Street }); }
      
      







рдпрд╣ рд╕рд░рд▓ рд╣реИ: рддреАрди рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП 3 рд╡рд┐рдзрд┐рдпрд╛рдБред рдкреНрд░рддреНрдпреЗрдХ рдЦреЛрдЬрдХрд░реНрддрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реЗрддрд╛ рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рд╣реИред рдЕрдВрддрд┐рдо рджреЛ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ RegionalId рдФрд░ CityId - рд╡реЗ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдХреНрд╖реЗрддреНрд░ (рдпрд╛ рд╢рд╣рд░) рдореЗрдВ рдЦреЛрдЬ рдХрд░рдиреА рд╣реИред рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо 5 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВред JSON рдореЗрдВ рдХреНрд░рдорд╛рдВрдХрд┐рдд рдПрдХ рдЕрдирд╛рдо рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓реМрдЯреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ v рдХреНрд╖реЗрддреНрд░ / рд╢рд╣рд░ рдХрд╛ рдирд╛рдо рд╣реИ

рдпрд╛ рд╕рдбрд╝рдХреЛрдВ, рдФрд░ рдХрд╢реНрдореАрд░ рдЙрдирдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИрдВред



рдпрд╣рд╛рдВ рдбреЗрдореЛ рдХрд░реЗрдВ



рдкрд░рд┐рдпреЛрдЬрдирд╛ (рдкреВрд░реНрдг рд░реВрдк рд╕реЗ) рдпрд╣рд╛рдВ (рдЧреАрдереВрдм)

рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рдмреЗрд╕ (рдбрдВрдк)



рд▓рд┐рдВрдХ, рд╡рд┐рд╡рд░рдг, рдирд┐рд░реНрджреЗрд╢
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ - рдПрдордПрд╕ SQL тАЛтАЛ2012

рдбреЗрдЯрд╛рдмреЗрд╕ 2014 рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛, рдореИрдВ рддрд┐рдорд╛рд╣реАред рдХреНрд░реАрдорд┐рдпрд╛ рдФрд░ рд╕реЗрд╡рд╕реНрддреЛрдкреЛрд▓ рдХреЗ рдирдП рдХреНрд╖реЗрддреНрд░реЛрдВ, рд╕рд╛рде рд╣реА рдмреИрдХреЛрдиреВрд░ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореМрдЬреВрдж рд╣реИрдВ

рдмреИрдХ-рдПрдВрдб .Net 4.0, рдПрдордПрдХреНрд╕ 3



рдмреЗрд╕ рдлрд╝рд╛рдЗрд▓ (mdf, рд▓реЙрдЧ) tyk (рдпрд╣ рдЧрд┐рдЯрд╣рдм рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рд╢рд╛рдпрдж рдЖрдХрд╛рд░ рдмрдбрд╝рд╛ рд╣реИ)





рдпреБрдкреАрдбреА
рдзрдиреНрдпрд╡рд╛рдж WindDrop , Andriyan

рдлрд┐рдХреНрд╕реНрдб \ Add:

1. рдореИрдиреНрдпреБрдЕрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдпрд╛ рдСрдЯреЛ-рдкреВрд░реНрдг рдХреЗ рдмрд╛рдж рдмрд╛рд░-рдмрд╛рд░ [ENTER], [TAB] рдпрд╛ [рд╕рд╣реА рддреАрд░] рджрдмрд╛рдиреЗ

2. рдХреЗрд╕-рд╕рдВрд╡реЗрджреА рдСрдЯреЛ-рдкреВрд░реНрддрд┐ (рдХреЗрд╕ рд╕реЗрдВрд╕рд┐рдЯрд┐рд╡рд┐рдЯреА)

3. рдЦрд╛рд▓реА рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдВрдбреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛

4. рдХреНрд╖реЗрддреНрд░ рдХреНрд╖реЗрддреНрд░ ("рдмрд╛рд╢рдХреЛ ..." рдпрд╛ "рдмрд╛рд╢рдХреЛ ....") рдореЗрдВ рдПрдХ рдордирдорд╛рдирд╛ рднрд░рдиреЗ рдХрд╛ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛ (рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛)



рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ:

рдПрдлрдПрдл рдореЗрдВ рдЕрд╕реНрдкрд╖реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡реНрдпрд╡рд╣рд╛рд░ (рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕)






All Articles