Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » Как правильно прописать функцию сброса в скрипте?

Как правильно прописать функцию сброса в скрипте?


     10.11.2020    слайдер, jquery    Все вопросы » jQuery    1395

вопрос
Всем доброго времени. Прошу помощи разобраться с ошибкой при выполнении кода. Пытаюсь сделать слайдер километража (за основу взят ionrangeslider).
При открытии страницы ползунки и инпуты выставляются в минимальное и максимальное значения. Если их сдвинуть и потом нажать "сброс", то все работает (ползунки возвращаются в крайние положения, в инпутах выставляются крайние значения). Если выбрать любой диапазон и нажать кнопку "фильтр" значения в инпутах дублируют значения ползунков, данные записываются в нужные мне переменные. Но если после этого нажать кнопку "сброс" то ползунки устанавливаются в крайние положения (как и должно быть), а значения в инпутах остаются выбранные ранее и не изменяются. В результате в переменных остается старое значение, а должны также изменяться до крайних (мин и макс) значений.
В чем моя ошибка? Опыта со скриптами мало, перерыл интернет, не нашел подходящих примеров. Описание на сайте для меня как учебник высшей математики для ученика 4 класса... Как правильно прописать функцию сброса, чтобы восстанавливали крайние значения не только ползунки на линейке, но и инпуты? За реальный ответ буду благодарен.


<script>
$(function(){
$("#slider").ionRangeSlider({
	min: {vmin},
	max: {vmax},
	from: {vfr},
	to: {vto},
	type: "double",
	step: 1,
	prettify: true,
	postfix: " км",
	skin: "big",
	min_interval: 1,
	grid: true,
	grid_num: 10,
	onChange(data) {
data.input.closest('.slider-container').find('.value1').val(data.from);
data.input.closest('.slider-container').find('.value2').val(data.to);
	}
});

$("#reset").click( function(){
var instance = $(slider).data("ionRangeSlider");
instance.update({from: {vmin},to: {vmax}});
});

});
</script>

<div class="slider-container">
<input type="text" id="slider" name="slider" value="" />
<form action="" method="post" name="vform">

<input class="value1" name="vfr" id="vfr" value="{vfr}">
<input class="value2" name="vto" id="vto" value="{vto}">

<input type="submit" value="Фильтр" id="filter">
<input type="reset" value="Сброс" id="reset">
</form>
</div>

Ответил: NEznaiKA


Ответ New-dev.ru помог. Спасибо
мешала функция фильтра

12 комментариев

New-dev.ru
Эксперт

New-dev.ru - 11 ноября 2020 17:18 -

А так не срабатывает ?
$("#reset").click( function(){
	var instance = $("#slider").data("ionRangeSlider");
	instance.reset();
});

NEznaiKA
Юзер

NEznaiKA - 11 ноября 2020 17:48 -

Цитата: New-dev.ru
А так не срабатывает ?

так даже ползунки перестают работать (

New-dev.ru
Эксперт

New-dev.ru - 11 ноября 2020 19:50 -

Хм, перепроверьте еще раз, может не так скопировали мой код. Есть ссылка на страницу?

NEznaiKA
Юзер

NEznaiKA - 11 ноября 2020 20:00 -

Я тестирую на локалке. Ошибиться в строчке кода точно не смог, перепроверил все. Если Сразу после выбора ползунков нажать сброс то работает (как и с прежним кодом). Но если попробовать после нажатого "фильтра" сбросить, тут даже ползунки не сдвигаются. В моем коде ползунки сдвигаются, а инпуты не изменяются

Скорее всего проблема в кнопке "фильтр"...

NEznaiKA
Юзер

NEznaiKA - 12 ноября 2020 12:28 -

New-dev.ru а не подскажете как можно вывести значения из инпутов в php-переменные кнопкой "фильтр"?

New-dev.ru
Эксперт

New-dev.ru - 13 ноября 2020 13:06 -

Через Ajax наверно.

NEznaiKA
Юзер

NEznaiKA - 13 ноября 2020 13:10 -

New-dev.ru, спасибо за ответ, но это как для третьеклассника учебник высшей математики.. прочитать может, но понять сложно (( в интернете нет живых примеров, поэтому пытаюсь получить помощь на этом сайте.

New-dev.ru
Эксперт

New-dev.ru - 13 ноября 2020 13:20 -

Примеров куча, например, https://webformyself.com/peredacha-znachenij-peremennyx-iz-javascript-v-php-i-naoborot/
Главы 3 и 4.
И вообще, лучше вынести все на хостинг, чтобы другие могли быстрее понять, что конкретно требуется.

NEznaiKA
Юзер

NEznaiKA - 13 ноября 2020 14:01 -

Цитата: New-dev.ru
И вообще, лучше вынести все на хостинг, чтобы другие могли быстрее понять, что конкретно требуется
выставил: abc.na4u.ru

New-dev.ru
Эксперт

New-dev.ru - 13 ноября 2020 16:35 -

Вместо
alert("от: " + vmfr + " и до: " + vmto);

добавьте
location.href = "?from=" + vmfr + "&to=" + vmto;

В PHP получаете эти значения через $_GET['from'] и $_GET['to']

NEznaiKA
Юзер

NEznaiKA - 13 ноября 2020 17:54 -

так на страницах типа /page/4/ не срабатывает, и всегда ползунки разбегаются.. моих знаний тут не хватает, придется делать заказ, но непонятно во сколько это обойдется..

New-dev.ru
Эксперт

New-dev.ru - 14 ноября 2020 08:46 -

NEznaiKA,
Ну там где этой пагинации нету - работает так как вам нужно? Тогда можно использовать POST запрос, это уже глава 4-я по ссылке, которую я раньше давал, там есть простейший пример.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх