У меня есть поле автозаполнения jquery в index.php страница:
$html .= '<div class="ui-widget">
<label for="tags">Tags:</label>
<input id="tags" />
<div id="tagsname"></div>
</div>';
$html .= "<script>
jQuery.noConflict();
jQuery(function () {
var availableTags = [
'ActionScript',
'AppleScript',
'Asp',
'BASIC',
'C'
];
jQuery('#tags').autocomplete({
source: availableTags
});
});
jQuery(document).ready(function () {
jQuery('#tags').on('change', function () {
jQuery('#tagsname').html('You selected: ' + this.value);
}).change();
jQuery('#tags').on('autocompleteselect', function (e, ui) {
jQuery('#tagsname').html('You selected: ' + ui.item.value);
});
});</script>";
И я хочу получить значение в свой вызов ajax в ajax.js файле:
jQuery.ajax({
type: "GET",
url: "setvalues.php",
data: {"event": event}
Вызов осуществляется с помощью setvalues.php :
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
$_SESSION['event'] = $_GET['event'];
Примечание: функция ajax вызывается по нажатию кнопки.
Так что это был контекст.
То, что я пытаюсь сделать, это получить значение из моего ввода jQuery в моей функции Ajax.
Что я пытался сделать:
Я поставил эту строку:
event = jQuery('#tagsname').html(ui.item.value);
В мой файл ajax.js непосредственно перед вызовом, чтобы получить нужное мне значение, но оно не работает.
Я получаю эту ошибку:
Uncaught ReferenceError : ui is not defined
Полагаю, есть другой способ получить значение моего ввода, но я не могу найти, как.
Примечание 2: Вы можете заметить, что я пропустил некоторые строки, например в моем файле ajax.js. Это для наглядности.