@SASHIKUBIVATOR

Есть фильтр на AJAX, как сделать так чтобы можно было формировать url, не используя все параметры?

Есть вот такой код, отвечающий за фильтр портфолио на сайте SEO агенства. Его проблема в том, что он позволяет выбирать параметры только по порядку, но мне нужно, чтобы была возможность выбрать, например, страну и отрасль
и порядок урла бы не менялся portfolio/russia/kontekstnaya-reklama, а не kontekstnaya-reklama/russia или что-то такое
var more_id = 64;
Сайт на вордпресс, все данные берутся из select-ов в скрине.
Сейчас туда можно заносить данные из админки и если стоит один параметр, то это выглядит как
сайт/otdelno-goroda/gorod-moskva, а хотелось бы portfolio/moscow или portfolio/russia/moscow (так как moscow подчинена russia в админке)
61af87af9045f032088156.jpeg
var big_filter = function () {
	 	if($('.ajax_portfolio_page_access .container').text() == 'Записей нет!') {
	 		$('#true_loadmore').hide();
	 	}
	    var array_first = [];
	    var array_second = [];
	    var array_third = [];
	    var array_fourth = [];
	    var array_fifth = [];
	    var array_order = [];

	    var array_first_last = '67';
	    var array_second_last = '93';
	    var array_third_last = '97';
	    var array_fourth_last = '100';
	    var array_fifth_last = '0';

	    var arrayhome = [];
	    var myPOSTS = 0;

        $('.new_add_ajax').on('click', '.custom-option', function () {

        	
        	/*
        	var tab_attribs = [];
				$('.backend__class__input__hidden').each(function () {
				  tab_attribs.push( $(this).attr("data-hidden") );
			});
			

        	console.log(tab_attribs);
        	*/

        	var data_src = $(this).data('src');

        	more_id = $(this).data('value');

	        if( $(this).parent().parent().data('parent') == '1' ) {
	        	array_first.push($(this).data('value'));
	        }

	        if( $(this).parent().parent().data('parent') == '2' ) {
	        	array_second.push($(this).data('value'));
	        }

	        if( $(this).parent().parent().data('parent') == '3' ) {
	        	array_third.push($(this).data('value'));
	        }

	        if( $(this).parent().parent().data('parent') == '4' ) {
	        	array_fourth.push($(this).data('value'));
	        }

	        if( $(this).parent().parent().data('parent') == '5' ) {
	        	array_fifth.push($(this).data('value'));
	        }
	        
	        
	        if($(this).parent().parent().hasClass('final')) {
	        		array_first_last = array_first.pop();
		        	array_second_last = '93';
		        	array_third_last = '97';
		        	array_fourth_last = '100';
		        	array_fifth_last = '0';
		        	//array_order = [];
		        	//array_order = [];
			}
			
			
			/*else if($(this).parent().parent().hasClass('final2')) {
	        		array_first_last = array_first.pop();
		        	array_second_last = array_second.pop();
		        	array_third_last = 97;
		        	array_fourth_last = 100;
		        	array_fifth_last = 0;
		        	//array_order = [];
			}*/
			
			if($(this).data('value') == 64) {
				$(location).attr('href', data_src);
			}
	        else {

		        if(array_first.length != 0) {
		        	array_first_last = array_first.pop();
		        }

		        if(array_second.length != 0) {
		        	array_second_last = array_second.pop();
		        }

		        if(array_third.length != 0) {
		        	array_third_last = array_third.pop();
		        }

		        if(array_fourth.length != 0) {
		        	array_fourth_last = array_fourth.pop();
		        }

		        if(array_fifth.length != 0) {
		        	array_fifth_last = array_fifth.pop();
		        }

		        if($(this).parent().parent().hasClass('parent')) {
		        	array_first_last = 64;

Сам не понимаю, правильно ли я участок кода вычленил, но этот отвечает за аякс и, как я понимаю, из-за того, что 64 - это айди первого selectа, оно не работает как я хочу
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
@alekcena
Нелинейный наставник
Ничего не понял.
1) Научитесь доносить мыслю людям которые вообще не понимают в чём ваша задача.
2) Научитесь форматировать код.
Отвечу на вопрос
Есть фильтр на AJAX, как сделать так чтобы можно было формировать url, не используя все параметры?

Для этого оформляем это в функцию, и используем деструктуризацию и много if
function({a,b}){
if(a) url +=
//ajax
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 мар. 2024, в 18:16
1000 руб./за проект
28 мар. 2024, в 18:15
90000 руб./за проект
28 мар. 2024, в 18:05
5000 руб./за проект