На сайте работает фильтр, и работает он так:
Когда в поле select или input выбираешь определенный параметр то он сразу срабатывает (AJAX) то есть без всяких действий. Хотелось бы переделать его под кнопку. Чтобы можно было задать все параметры а затем нажать на кнопку "Найти" и он срабатывал. Как такое сделать? Заранее спасибо!
Вот весь js код:
function UpdateFilter(data) {
$.each(data, function(key, value) {
$.each(value, function(key_val, val_value) {
if ($('label[for='+key+'-'+key_val+']')) {
$('label[for='+key+'-'+key_val+']').replaceWith(val_value);
}
if ($('[data-key='+key+'-'+key_val+']')) {
$('[data-key='+key+'-'+key_val+']').replaceWith(val_value);
}
});
});
}
var now_news, all_news, limit;
$(function() {
var news = $("#dle-content").html();
$("body").on("change", "#punpun_filter", function() {
var filter = $("#punpun_filter").serialize();
$.post(dle_root + "engine/mod_punpun/easy_filter/ajax/easy_filter.php", {form_field : filter}, function(data) {
if(data) {
var content = jQuery.parseJSON(data);
UpdateFilter(content.js_form);
limit = content.limit;
all_news = content.all_news;
now_news = content.now_news;
$(".filter-box select").trigger("chosen:updated");
if(content.error) {
$("#dle-content").html(news);
} else {
$("#dle-content").html(content.news);
}
}
});
});
$("body").on("click", "#bottom-nav", function() {
var filter = $("#punpun_filter").serialize();
if (now_news == 0) {
now_news = limit;
}
$.post(dle_root + "engine/mod_punpun/easy_filter/ajax/easy_filter.php", {form_field: filter, all_news: all_news, now_news: now_news}, function(data) {
if(data) {
var content = jQuery.parseJSON(data);
all_news = content.all_news;
now_news = content.now_news;
if (all_news<=now_news) {
$('#bottom-nav').remove();
$("#dle-content").append(content.news);
} else {
$(content.news).insertBefore('#bottom-nav');
}
}
});
});
$(".filter-box select").chosen({
disable_search_threshold: 100,
allow_single_deselect: true
});
});