С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422

Живой поиск, был выбраны select

07.06.2017, 15:53. Показов 2293. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажи, как можно в POST параметр данного кода добавить имя выбранного select'a и его значения
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
    $('.who').bind("change keyup input click", function() {
        if(this.value.length >= 2){
            $.ajax({
                type: 'post',
                url: "search_ajax.php", //Путь к обработчику
                data: {'referal':this.value},
                response: 'text',
                success: function(data){
                    $(".search_result").html(data).fadeIn(); 
                }
            })
        }
    })
Имеется select с городами
HTML5
1
2
3
4
5
Города:<select name='site'>
    <option value='1'>Волгоград</option>
    <option value='2'>Ленинград</option>
    <option value='3'>Сталинград</option>
</select>
Если бы сделан выбор, тогда чтобы data был таким
JavaScript
1
data: {'referal':this.value,'site':this.site},
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.06.2017, 15:53
Ответы с готовыми решениями:

Живой поиск
Доброго времени суток! Делаю себе на сайт живой поиск ... всё работает хорошо, НО столкнулся с такой проблемой что пока запрос...

Живой поиск
Здравствуйте, помогите разобраться, делаю живой поиск, при любом вводе данных, есть ли они в бд или нет, скрипт выводит есть такой юзер,...

Живой поиск
Почему не выводит ячейку из массива, если введённое значение совпадает? Может я не правильно написал регулярное выражение? Я больше не...

6
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
07.06.2017, 20:22
Цитата Сообщение от Salvat Посмотреть сообщение
data: {'referal':this.value,'site':this.site},
JavaScript
1
data: {'referal':$(this).attr('name'),'site':$(this).val()},
0
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422
09.06.2017, 17:28  [ТС]
fanatikus, почему-то не срабатывает
HTML5
1
2
3
4
5
6
7
    <input type="text" name="referal" style="width:600px;margin-left:35%;" placeholder="" value="" class="who"  autocomplete="off">
<select name='site'>
    <option value='1'>Волгоград</option>
    <option value='2'>Ленинград</option>
    <option value='3'>Сталинград</option>
</select>  
    <ul class="search_result"> </ul><br/>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
    $('.who').bind("change keyup input click", function() {
        if(this.value.length >= 2){
            $.ajax({
                type: 'post',
                url: "search_ajax.php", //Путь к обработчику
                        data: {'referal':$(this).attr('name'),'site':$(this).value()},
                response: 'text',
                success: function(data){
                    $(".search_result").html(data).fadeIn();  
                }
            })
        }
    })
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
09.06.2017, 19:05
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
                $('.who').bind("change keyup input click", function () {
                    if (this.value.length >= 2) {
                        var s = $(this).next().val();
                        $.ajax({
                            type: 'post',
                            url: "search_ajax.php", //Путь к обработчику
                            data: {'referal': $(this).val(), 'site': s},
                            response: 'text',
                            success: function (data) {
                                $(".search_result").html(data).fadeIn();
                            }
                        })
                    }
                })
1
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422
25.06.2017, 08:42  [ТС]
fanatikus, подскажите пожалуйста, мне необходимо примерно так,
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
$('.who').bind("change keyup input click", function() {
                var obj = $('.who input:checked');
            
                if(obj.length > 0  ){
                      if(this.value.length >=2){
                         var d ={};
                            obj.each(function(i,e){
                        d[$(e).attr('name')] = $(e).val();
                        console.log($(e).attr('name')+" - "+ $(e).val());
                        $.ajax({
                            type: 'post',
                            url: "search_ajax.php", 
                            data: {'referal':this.value,'check':d},
                            response: 'text',
                            success: function(data){
                                $(".search_result").html(data).fadeIn(); 
                        }
                        })
                    })
                     }
                } else {
                   if(this.value.length >=2){
                         $.ajax({
                         type: 'post',
                     url: "search_ajax.php", 
                     data: {'referal':this.value},
                        response: 'text',
                        success: function(data){
                    $(".search_result").html(data).fadeIn(); 
                }
            })
        }
      }
     
 
 
    })
То есть, когда набирается текст, проверяется чекбокс, если выбран, проверяется кол-во символов. Потом отправляется текст и значение checkbox'a
HTML5
1
2
3
4
5
6
7
<div class="who">
     <input type="text" name="referal" style="width:200px;margin-left:35%;" placeholder="" value=""   autocomplete="off">
    <input type='checkbox' name='jobs' value="j">Работа
    <input type='checkbox' name='peoples' value="p">Люди
    <input type='checkbox' name='callboard' value="c">Объявления
</div>
<div class="search_result"></div>
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
25.06.2017, 18:58
del

Добавлено через 11 минут
Цитата Сообщение от Salvat Посмотреть сообщение
мне необходимо примерно так,
нет. это код из другой темы. там нет
Цитата Сообщение от Salvat Посмотреть сообщение
<input type="text" name="referal" style="width:200px;margin-left:35%;" placeholder="" value="" * autocomplete="off">
Добавлено через 2 часа 16 минут
вы хотите, чтобы при вводе в поле name="referal" нескольких символов, подгружались подсказки?

Добавлено через 6 часов 34 минуты
Цитата Сообщение от Salvat Посмотреть сообщение
мне необходимо примерно так,
PHP/HTML
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
<style>
.none{
    display:none;
}
</style>
    <script type="text/javascript">
        function check_input(obj){
            if(obj.val().length >= 2){
                return true;
            } else {
                return false;
            }
        }
        
        function check_checkbox(obj,d){
            if(obj.length > 0){
                obj.each(function(i,e){
                    d[$(e).attr('name')] = $(e).val();
                });
            }
            return d;
        }
        
        function _ajax(dat){
            $.ajax({
                type: 'post',
                url: "search_ajax.php", 
                data: dat,
                response: 'text',
                success: function(data){
                    $(".search_result").html(data).fadeIn(); 
                }
            })
        }
        
        $(function () {
            $('#referal').on('input',function() {
                if(check_input($(this))){
                    var d ={};
                    var obj = $('.who input:checked');
                    var dat = check_checkbox(obj,d);
                    
                    dat[$(this).attr('name')] = $(this).val();
                    _ajax(dat);
                }
            });
            
            $('.who input[type=checkbox]').click(function(){
                if(check_input($('#referal'))){
                    var d ={};
                    var obj = $('.who input:checked');
                    var dat = check_checkbox(obj,d);
                   
                    dat[$('#referal').attr('name')] = $('#referal').val();
                    _ajax(dat);
                }
            })
        });
            
    </script>
  
<div class="who">
     <input id="referal" type="text" name="referal" style="width:200px;margin-left:35%;" placeholder="" value=""   autocomplete="off">
    <input type='checkbox' name='jobs' value="j">Работа
    <input type='checkbox' name='peoples' value="p">Люди
    <input type='checkbox' name='callboard' value="c">Объявления
</div>
<div class="search_result none"></div>
1
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422
26.06.2017, 14:50  [ТС]
fanatikus, Благодарю Вас за пример, я разберусь и отпишу, а пока реализовал таким образом, люди подсказали, я пробовал два раза POST отправлять, но почему-то код срабатывал один раз, подсказали как объединить вот в такой код
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
   $('div.who').on('input', 'input', function() {
       var d = {}; 
       $(this).parent().find('input').each(function() {
            if(this.type=="text" && this.value.length >=2 || this.checked) d[this.name] = this.value
       })
       if(Object.keys(d).length) {
            $.ajax({
                type: 'post',
                url: "search_ajax.php",
                data: d,
                 response: 'text',
                success: function(data){
                $(".search_result").html(data).fadeIn();
                }
            })
       }
    });
вы хотите, чтобы при вводе в поле name="referal" нескольких символов, подгружались подсказки?
Да, Вы верно меня поняли
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.06.2017, 14:50
Помогаю со студенческими работами здесь

Живой поиск
Есть 2 поля ввода: &lt;input type=&quot;text&quot; size=&quot;20&quot; value=&quot;&quot; id=&quot;inputString&quot; onkeyup=&quot;lookup(this.value);&quot; onblur=&quot;fill();&quot; /&gt; &lt;input...

Живой поиск
Сделал живой поиск на сайте. По событию onkeyup выскакивают попытки угадать запрос. По событию onblur варианты скрываются. Обработчик...

Живой поиск PHP, JS
При реализации алгоритма живого поиска, найденного на просторах интернета, столкнулся с проблемой, что в input не отображается выбранный из...

Живой поиск, где ошибка?
Делаю живой поиск, всё работает, но проблема в том, что не вставляется при клике текст с div в input. В jquery еще не силен, только учусь,...

Живой поиск по двум полям
озадачился для удобства сделать живой поиск. для этого посетил гугл и нашел замечательный пример- &lt;input type=&quot;text&quot;...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru