我在 index.php 页面中有一个 jquery 自动完成字段:
$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.js 文件中的 ajax 调用中:
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 函数通过按钮调用 onclick。
这就是上下文。 我想做的是从 Ajax 函数中的 jQuery 输入获取值。
我尝试做的事情: 我已经添加了这一行:
event = jQuery('#tagsname').html(ui.item.value);
在调用之前进入我的 ajax.js 文件以获取我需要的值,但它不起作用。 我收到此错误:
Uncaught ReferenceError : ui is not defined
我想还有另一种方法可以获取我的输入值,但我找不到方法。
注2:您可能会注意到我省略了一些行,例如在我的 ajax.js 文件中。这是为了清楚起见。
最佳答案
只需使用 jQuery 的 val()输入元素上的函数。我创建了一个简化的示例,其中输入的值显示在警报消息中。您可以在 Ajax 调用中执行相同的操作。
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);
});
});
// Click event handler of "Get value" button
jQuery("#getValue").click(function() {
// Select input element and take it's value using jQuery's val() function
var selValue = jQuery("#tags").val();
alert("Selected value: " + selValue);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<div class="ui-widget">
<label for="tags">Tags:</label>
<input id="tags" />
<div id="tagsname"></div>
</div>
<button type="button" id="getValue">Get value</button>
关于javascript - 将 Jquery 自动完成的值检索到 Ajax 调用中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50171133/