Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 06.08.2015
Сообщений: 31
1

Цены с пробелами UI-slider

06.08.2015, 12:21. Показов 1926. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем добрый день! я новичек в JavaScript, наплодил постов по вопросу, у кого спрашиваю никто толком не может подсказать, очень надеюсь что сдесь помогут!!!
Вопрос вот впринципе в чем:есть фильтр товаров на сайте, для фильтрации по цене используется UI-slider, цена в инпуте имеет вид 1000000 преобразовал цену с помощью функции в 1 000 000 код функции:

Javascript
1
2
3
4
5
function commaInt(val) {
            return String(val).split("").reverse().join("")
                  .replace(/(.{3}\B)/g, "$1 ")
                  .split("").reverse().join("");
      }
но теперь при сабмите не фильтрует, т.к. в гет параметрах на месте пробелов стоит +
Как исправить код чтобы данные в гет параметры приходили без пробелов? Заранее спасибо ниже приведен код слайдера:

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
jQuery(document).ready(function(){
/* слайдер цен */
function commaInt(val) {
            return String(val).split("").reverse().join("")
                  .replace(/(.{3}\B)/g, "$1 ")
                  .split("").reverse().join("");
      }
 
jQuery("#slider").slider({
    min: 100000,
    max: 9999999,
    values: [100000,9999999],
    range: true,
    step: 10000,
    stop: function(event, ui) {
        jQuery("input#minCost").val(commaInt(jQuery("#slider").slider("values",0)));
        jQuery("input#maxCost").val(commaInt(jQuery("#slider").slider("values",1)));
    },
    slide: function(event, ui){
        jQuery("input#minCost").val(commaInt(jQuery("#slider").slider("values",0)));
        jQuery("input#maxCost").val(commaInt(jQuery("#slider").slider("values",1)));
    }
});
 
jQuery("input#minCost").change(function(){
 
    var value1=jQuery("input#minCost").val();
    var value2=jQuery("input#maxCost").val();
 
    if(parseInt(value1) > parseInt(value2)){
        value1 = value2;
        jQuery("input#minCost").val(value1);
    }
    jQuery("#slider").slider("values",0,value1);
 
});
 
     
jQuery("input#maxCost").change(function(){
 
    var value1=jQuery("input#minCost").val();
    var value2=jQuery("input#maxCost").val();
     
    if (value2 > 9999999) { value2 = 9999999; jQuery("input#maxCost").val(9999999)}
 
    if(parseInt(value1) > parseInt(value2)){
        value2 = value1;
        jQuery("input#maxCost").val(value2);
    }
    jQuery("#slider").slider("values",1,value2);
});
 
 
 
 
// фильтрация ввода в поля
    jQuery('input').keypress(function(event){
        var key, keyChar;
        if(!event) var event = window.event;
         
        if (event.keyCode) key = event.keyCode;
        else if(event.which) key = event.which;
     
        if(key==null || key==0 || key==8 || key==13 || key==9 || key==46 || key==37 || key==39 ) return true;
        keyChar=String.fromCharCode(key);
         
        if(!/\d/.test(keyChar)) return false;
     
    });
 
});
Добавлено через 40 минут
пробовал решить абстрактно через редирект так
Javascript
1
2
3
4
jQuery('.submit').click(function() {
        var link=window.location.href.replace(/\+/g, '');
        window.location.replace(link);
    });
но так не выходит почему то, если просто вставить в код слайдера так
Javascript
1
2
var link=window.location.href.replace(/\+/g, '');
window.location.replace(link);
тоработает но страница постоянно редиректи
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.08.2015, 12:21
Ответы с готовыми решениями:

Revolution Slider Error: Slider with alias main_slider not found
Уважаемые форумчане помогите пожалуйста! Поставил плагин Revolution Slider но он выводит ошибку...

Обработать цены из прайса поставщика по группе правил, в зависимости от величины цены
Задача следующая: нужно обработать цены из прайса поставщика по группе правил, в зависимости от...

Цены на два вида товаров возросли на P процентов . Вывести старые и новые цены
Цены на два вида товаров возросли на P процентов . Вывести старые и новые цены.

Цены на два виды товаров выросли на р процентов. Вывести старые и новые цены
Помогите

4
312 / 106 / 69
Регистрация: 18.04.2015
Сообщений: 346
06.08.2015, 15:25 2
Ну дак прогоняйте через функцию которая удаляет пробелы.
Javascript
1
2
3
function uncommaInt(val) {
            return val.replace(/\s+/g, '');
      }
0
1 / 1 / 0
Регистрация: 06.08.2015
Сообщений: 31
06.08.2015, 18:00  [ТС] 3
что именно прогонять то?

Добавлено через 2 часа 24 минуты
Похоже это сделать просто НЕВЕЗМОЖНО!
0
312 / 106 / 69
Регистрация: 18.04.2015
Сообщений: 346
06.08.2015, 21:16 4
Лучший ответ Сообщение было отмечено krasnov8953 как решение

Решение

Начнем с того что ui-slider ничего сам не фильтрует это всего лишь элемент интерфейса. Удаляем пробелы из полей перед отправкой на сервер.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
function uncommaInt(val) {
            return val.replace(/\s+/g, '');
      }
jQuery('.submit').submit(function() {
        
    var value1=jQuery("input#minCost").val();
    var value2=jQuery("input#maxCost").val();
 
 
jQuery("input#minCost").val(uncommaInt(value1));
jQuery("input#maxCost").val(uncommaInt(value2));
    });
Добавлено через 6 минут
Единственное что событие не клик а submit.
1
1 / 1 / 0
Регистрация: 06.08.2015
Сообщений: 31
07.08.2015, 11:30  [ТС] 5
Я так уже пробовал не выходит(( все те же плюсы в url

Добавлено через 12 часов 6 минут
Решил конечно не без помощи хороших людей, в коде
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
function uncommaInt(val) {
            return val.replace(/\s+/g, '');
      }
jQuery('.submit').submit(function() {
        
    var value1=jQuery("input#minCost").val();
    var value2=jQuery("input#maxCost").val();
 
 
jQuery("input#minCost").val(uncommaInt(value1));
jQuery("input#maxCost").val(uncommaInt(value2));
    });
поменять
Javascript
1
jQuery('.submit').submit(function()
на
Javascript
1
jQuery('#form-filter').submit(function()
так как сабмитится форма! Спасибо огромное)
0
07.08.2015, 11:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.08.2015, 11:30
Помогаю со студенческими работами здесь

Подставление вида цены и цены из регистра сведений
Такое дело... Есть док - Продажи. ТЧ - Товары. Нужно, чтобы При Изменении Номенклатуры в ВидЦены...

Уценить на 20% все товары, которые дороже заданной цены; вывести товары в порядке возрастания розничной цены
Ввести 5 структур типа "Товары на складе" с полями: название товара; закупочная цена; товарная...

Дана строка, содержащая название товара и его цены. Разделить название товара и его цены...
Создать модуль и разработать ниже перечисленные функции, затем выполнить задание с текстом. MyVal...

Slider
Каким образом можно осуществить перетаскивание окна для открытия второго, как это сделано в VK app?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru