Как отправить переменную через jquery

0

Я только что создал текстовое поле автозаполнения через jquery, теперь я застрял в двух проблемах.

1) Мне нужно получить значение выбранного элемента из списка автозаполнения.

Пока я это сделал.

Мой jquery

$(document).ready(function(){
$("#tag").autocomplete("autocomplete.php", {
    selectFirst: true

});
});

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

2) Когда я набираю 'r', все имена со значениями заполняются, и если я выберу из списка Robin и попытаюсь отобразить его с предупреждением, я получаю только 'r', (я только набрал r и выбрал 'robin' из списка), почему это так?

вот код, который я написал для этого

для текстового поля автозаполнения

  <input name="tags" type="text" id="tag"  value="" onchange= "newfn()" />

и в newfn()

<script>
        function newfn()
        {

             authname = document.getElementById("tag").value;

            document.autoquote.qid.value=authname;
            alert(authname);

        }
    </script>

и если я сначала поставил предупреждение,

alert("Hi");

тогда, я получаю первое предупреждение, говорящее привет, и я получаю robin not r

Итак, каков правильный способ получить то значение, которое я выбрал из списка автозаполнения?

Теперь мой второй вопрос заключается в том, что выбранное значение из этого текстового поля автозаполнения, мне нужно передать его с другим jquery на другую страницу php, чтобы я мог получить это значение там и предоставить его в запросе в качестве критерия.

  • 0
    я закодировал его в jason и попытался предупредить об этом через функцию select в jquery WALLA! задача решена!!! Еще одна проблема, как передать эту переменную, полученную из ui.item.label, в другую функцию автозаполнения jquery?
Теги:
autocomplete

4 ответа

1
$(".autosearch-smart").autocomplete('autocomplete.php', {
 select: function( event, ui ) {
    // here you can get id and values from the autocomplete list
   // try to debug
     console.log(ui.item.id);
     console.log(ui.item.label);
     console.log(ui.item.value);
}


});
  • 0
    я скопировал ваш код из консоли и вставил его в свой код, третий код консоли показал ошибку, когда я удалил его, он запустился, и я выбрал robin, но в выводе netbean ничего не было пустым
  • 0
    Я редактировал пост
Показать ещё 3 комментария
1

вы можете использовать свойство выбора автозаполнения, подобное этому

$("#tag").autocomplete('autocomplete.php', {
    selectFirst: true,
    select: function (event, ui) {
        var label = ui.item.label;
        var value = ui.item.value;
        alert(label);
        alert(value)
     // you can write additional javascript code here to make use of these values

    }
 });

Пожалуйста, проверьте документацию jQuery UI для получения дополнительных примеров и информации.

Вот JSFiddle. (Обратите внимание, что дополнительный атрибут источника добавлен в скрипт для имитации загрузки набора данных, поскольку реальные межсетевые вызовы AJAX запрещены)

  • 0
    Я попытался, ваш ответ, но когда я выбираю «Робин» из списка, оповещение не происходит! :-(
  • 1
    У меня был другой селектор при применении автозаполнения, может быть, вы скопировали только это, дайте мне минутку, я создам jsfiddle и поделюсь ссылкой.
Показать ещё 6 комментариев
1

Потому что это не способ поймать событие select http://api.jqueryui.com/autocomplete/#event-select:

$(document).ready(function(){
    $("#tag").autocomplete("autocomplete.php", {
        selectFirst: true,
        select: function( event, ui ) {
            //Then use "ui" object, for example ui.item.label or ui.item.value                
        }
    });
});
  • 0
    я попробовал, но бесполезно
  • 0
    Нет смысла что? Вам нужно дать больше информации. Вызов callback не вызывается? Вы проверили консоль ошибок (F12)? ...
Показать ещё 1 комментарий
0
$(document).ready(function(){
$("#tag").autocomplete("autocomplete.php", {
    selectFirst: true
    select: function( event, ui ) {
         //check the values in console    
         alert(ui.item.value+" - "+ui.item.value);      
    }
});
});
  • 0
    в моем отладчике firebug firefox я получил ответ как робин! это? Можно ли передать это значение с помощью другого автозаполнения JQuery, чтобы получить его на другой странице PHP?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню