Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.03.2020, 17:09
Новичок на форуме
Отправить личное сообщение для ОльгаSha Посмотреть профиль Найти все сообщения от ОльгаSha
 
Регистрация: 18.03.2020
Сообщений: 1

Как с помощью jquery получить данные из input и подставив их в get параметры перенапр
Здравствуйте!
У меня есть форма поиска с выпадающим списком.
Т.е. пользователь вводит в поле свой запрос и в выпадающем списке выбирает где искать его запрос.
Моя форма:

<section class="container-search">
        <form class="search-new" action="" >
            <input id ="my-search" class="new-search" type="search" name="query" placeholder="Поиск" autocomplete="off"  required/>
            <ul class="search-ac">
            <li><a class="country" id="ru" href="/ru/search"><img src="/app/site/assets/img/russia.png" alt="Россия">Россия</a></li>
            <li><a class="country" id="ua" href="/ua/search"><img src="/app/site/assets/img/ukraine.png" alt="Украина">Украина</a></li>
            <li><a class="country" id="kz" href="/kz/search"><img src="/app/site/assets/img/kazakhstan.png" alt="Казахстан">Казахстан</a></li>
            </ul>
        </form>
    </section>


По т.е. допустим пользователь решил поискать "береза" в России. По тегу <a> пользователь переходит по ссылке /ru/search, а мне нужно, чтобы он переходил по ссылке /ru/search?query=береза.
Для этого я написала скрипт.

$(document).ready(function() {
                /*Получаю id страны при собитии click*/
                function cnt() {
                    $('a.country').click(function() {
                        var country = $(this).attr('id');
                        return country;
                    });
                }
                // результат функции записываю в переменную
                var c = cnt();
                //получаю результат ввода в input
                function vln() {
                    $("input#my-search").keyup(function() {
                        var value = $(this).val();
                    }).keyup();
                    return value;
                }
                // результат функции записываю в переменную
                var v = vln();
                //формирую новые url
                var url = "http://dev.com/" + c + "?query=" + v;
                //Переопределяю href для ссылки
                $("a.country").attr("href", url);
            });


Но к решению задачи не продвинулась. Помогите, пожалуйста, советом, комментарий, примером.
То, что я совсем новичoк в js, думаю очевидно.
Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 18.03.2020, 17:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Может выбор страны сделать списком?

function cnt() { установка обработчика и function vln() тоже самое, не нужно.
Ответить с цитированием
  #3 (permalink)  
Старый 18.03.2020, 17:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

ОльгаSha,
заменить скрипт полностью на этот код
$(function() {
$('.search-new').on('click', 'a.country', function(event) {
event.preventDefault();
event.delegateTarget.action = `https://dev.com/${this.id}/search`;
event.delegateTarget.submit();
   });
});
Ответить с цитированием
  #4 (permalink)  
Старый 18.03.2020, 19:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от рони
заменить скрипт полностью на этот код
А если поле будет пустое?
Ответить с цитированием
  #5 (permalink)  
Старый 18.03.2020, 19:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от laimas
А если поле будет пустое?
Сообщение от ОльгаSha
required
Ответить с цитированием
  #6 (permalink)  
Старый 19.03.2020, 02:49
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

рони,
это механизм, а не логика, для форм регистраций логично, для поиска нет.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить данные из БД и вывести в модальном окне LingVist jQuery 33 22.09.2019 15:35
Как с помощью JavaScript вывести некоторые данные из файла json на страницу html Lefseq Общие вопросы Javascript 3 24.07.2019 17:37
Как распарсить данные с помощью React.js? Heisenberg Библиотеки/Тулкиты/Фреймворки 1 17.11.2015 16:43
Как получить значение с помощью JavaScript? griga999 Общие вопросы Javascript 2 22.02.2015 01:57
Как можно добавить данные с помощью JS в input type=file Krava Общие вопросы Javascript 2 22.03.2014 16:38