将 Jquery 自动完成的值检索到 Ajax 调用中
Retrieve value of Jquery autocomplete into Ajax call
我在 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
这就是背景。
我想做的是从 jQuery 函数中的 jQuery 输入中获取值。
我尝试过的事情:
我放了这一行:
event = jQuery('#tagsname').html(ui.item.value);
在调用之前进入我的 ajax.js 文件以获取我需要的值,但它不起作用。
我收到此错误:
Uncaught ReferenceError : ui is not defined
我想还有另一种方法可以获取我输入的值,但我找不到方法。
注 2:您可能会注意到我省略了一些行,例如在我的 ajax.js 文件中。这是为了清楚起见。
要获得 div value/text,您应该尝试
let event = $('#tagsname').text();
设置值
$('element').text('some _value');
更新:
如果要获取输入元素值,请使用jquery val() 方法
$('input_element').val();
在你的情况下使用,
$("#tags").val();
只需在输入元素上使用 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>
我在 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
这就是背景。 我想做的是从 jQuery 函数中的 jQuery 输入中获取值。
我尝试过的事情: 我放了这一行:
event = jQuery('#tagsname').html(ui.item.value);
在调用之前进入我的 ajax.js 文件以获取我需要的值,但它不起作用。 我收到此错误:
Uncaught ReferenceError : ui is not defined
我想还有另一种方法可以获取我输入的值,但我找不到方法。
注 2:您可能会注意到我省略了一些行,例如在我的 ajax.js 文件中。这是为了清楚起见。
要获得 div value/text,您应该尝试
let event = $('#tagsname').text();
设置值
$('element').text('some _value');
更新:
如果要获取输入元素值,请使用jquery val() 方法
$('input_element').val();
在你的情况下使用,
$("#tags").val();
只需在输入元素上使用 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>