Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вынес JS код в отдельный файл. Тормозит. (https://javascript.ru/forum/misc/78070-vynes-js-kod-v-otdelnyjj-fajjl-tormozit.html)

laimas 23.07.2019 14:38

Цитата:

Сообщение от laimas
помогите упростить код с помощь switch

Дайте спискам имена: marka_id, model_id и car_id, и единый какой либо класс. Делегируйте обработку списка ближайшему общему родителю на странице. А далее на клиенте:

$(селектор родителя).on('change', 'класс списков', function() {
     var src = $(this);
     $.post('php/search.php', this.name+'='+this.value, function(res) {
          //выполняем сценарий для src источника, строим список по json данным 
     }) 
})


на сервере:

//функции массива выполняют специфическое для каждого из ключей, то есть возвращают getModel($id) и т.п.
$src = [
    marka_id => function($id) {
         return ...
    },  
    model_id => function($id) {
         return ...
    }, 
    car_id => function($id) {
         return ...
    } 
];

if($key = key($_POST) AND array_key_exists ($key, $src)) {
     echo json_encode($src[$key]($_POST[$key])); //возвращаем клиенту json, то есть массивы возвращаемые методами getModel($id) и т.п. 
}


Часовой пояс GMT +3, время: 10:02.