(function($) { // очищаем select $.fn.clearSelect = function() { return this.each( function() { if('SELECT' === this.tagName) this.options.length = 1; } ); } // заполняем select $.fn.fillSelect = function(dataArray) { return this.clearSelect().each( function() { if('SELECT' === this.tagName) { var currentSelect = this; $.each(dataArray, function(index, data) { if ('0' !== data.id) { var currVal; var selVal = $('#selector').val(); if (selVal) currVal = $('#h' + selVal).val(); if ('0' !== currVal && data.id === currVal) { this_select = true; } else { this_select = false; } var option = new Option(data.name, data.id, false, this_select); if($.support.cssFloat) { currentSelect.add(option, null); } else { currentSelect.add(option); } } }); $('#selector').val(''); } } ); } })(jQuery); $(document).ready(function() { // Обработка селекторов Раздела и Профессий // обрабатываем селект если он был изменен $('#profession').change(function() { var sp = $('#profession').val(); $('#hprofession').val(sp); }); var selProfessions = $('#profession'); // обрабатываем селект после перезагрузки страницы if ($('#section').val()) { $.get('/ajax.php', { id_s: $('#section').val() }, function(data) { $('#selector').val('profession'); selProfessions.fillSelect(eval(data)).attr('disabled', ''); }); } else { selProfessions.clearSelect(); } // обрабатываем селект если он был изменен $('#section').change(function() { if (!this.value) { selProfessions.clearSelect(); } else { $.get('/ajax.php', { id_s: this.value }, function(data) { selProfessions.fillSelect(eval(data)).attr('disabled', ''); }); } }); // Обработка селекторов Региона и Городов var selCitys = $('#city'); // обрабатываем селект после перезагрузки страницы if ($('#region').val()) { $.getJSON('/ajax.php', { id_r: $('#region').val() }, function(data) { $('#selector').val('city'); selCitys.fillSelect(eval(data)).attr('disabled', ''); }); } else { selCitys.clearSelect(); } // обрабатываем селект если он был изменен $('#region').change(function() { $('#hcity').val(''); if (!this.value) { selCitys.clearSelect(); } else { $.get('/ajax.php', { id_r: this.value }, function(data) { selCitys.fillSelect(eval(data)).attr('disabled', ''); }); } });