Nano Hash - криптовалюты, майнинг, программирование

Исходный параметр автозаполнения jQuery не обновляется

Я использую скрипт автозаполнения jQuery для элемента ввода текста, но проблема в том, что переменная lang в исходном URI не обновляется при обновлении переменной.

Значение lang обновляется всякий раз, когда я нажимаю на элемент ввода радио, и после этого я набираю что-то в элементе ввода текста, что затем запускает код автозаполнения. Как ни странно, он всегда использует значение «en», а не обновленное значение.

Кто-нибудь знает лучший подход или исправление для моего кода?

код:

var lang = 'en';

$('input[name="language"]').click(function()
{
    lang= $(this).val();
});

$("#query").autocomplete({
    source: "domain.com/suggest.php?language=" + lang,
    minLength: 1
});

Ответы:


1

Событие щелчка происходит, когда вы нажимаете на выбор, а не при изменении значений. Таким образом, язык, вероятно, переназначается текущему значению выбора, которое, если он английский, останется английским после изменения значения выбора. Что вы, вероятно, хотите сделать, это:

$('input[name="language"]').change(function()
{
    lang= $(this).val();
});
28.12.2010
  • Почему бы сразу не использовать $('input[name=language]').val() вместо lang var? 28.12.2010
  • Потому что получение значения от проверенного переключателя ($('input[name="language"]:checked').val()) тоже не сработало. Думая, что это как-то связано с проверенной опцией переключателей, вызывающей проблемы, я надеялся, что этот метод решит эту проблему. К сожалению, результат тот же. 28.12.2010
  • Если $('input[name=language]').val() не возвращает выбранное значение, то это ваша проблема. (используйте console.log() и Firebug для проверки) 28.12.2010
  • Этот код jQuery возвращает правильное значение, но проблема в том, что исходная часть кода автозаполнения не использует обновленное значение. Когда я изменил его на функцию, как ни странно, она вывела правильное значение. Код: source: function(){alert(lang)} 28.12.2010

  • 2

    Решение состоит в том, чтобы создать собственный вызов AJAX:

        source: function(request, response)
        {
            $.ajax({
                url: 'domain.com/suggest.php',
                dataType: "json",
                data: {language: $('input[name="language"]:checked').val(), term: $('#query').val()},
                success: response
            });
        },
    

    Надеюсь, это поможет и другим.

    29.12.2010

    3

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

    var lang = 'en';
    
    $('input[name="language"]').click(function()
    {
        lang= $(this).val();
    
    
    $("#query").autocomplete({
        source: "domain.com/suggest.php?language=" + lang,
        minLength: 1
    });
    
    });
    
    07.11.2013
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..