无法将自动完成选择值传递给输入字段
Cannot pass autocomplete selection value to input field
我正在尝试将我的自动完成选择的值添加到 ID 为 initialNameField
的特定输入字段。
自动完成:
<div class="ui-widget">
<label for="tags">Search: </label>
<input class="tags" />
</div>
输入:
<input type="text" th:field="*{selectedInitialName}" class="initialNameField" id="initialNameField"
name="initialName"/>
包括:
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" />
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
自动完成脚本:
<script type="text/javascript">
//<![CDATA[
$(function() {
var availableTags = [
"1",
"2",
"3",
"4",
];
$(".tags").autocomplete({
source: availableTags,
minLength: 1,
dataType: 'json',
select: function(event, ui) {
$('#initialNameField').val(ui.item.id);
}
});
});
//]]>
</script>
我应该怎么做才能完成这项工作?
您必须像这样设置值:
$('#initialNameField').val(ui.item.value); // Or ui.item.label
因为ui
是一个像这样的对象:{"item":{"label":"1","value":"1"}}
在这里 fiddle 工作:https://jsfiddle.net/wc0rtpa9/
将选中的文本设置为文本框时,请尝试使用ui.item.label。
$(document).ready(function () {
var availableTags = [
"1",
"2",
"3",
"4",
];
$(".tags").autocomplete({
source: availableTags,
minLength: 1,
dataType: 'json',
select: function(event, ui) {
$('#initialNameField').val(ui.item.label); // input the selected text
}
});
});
这是示例工作代码:http://jsfiddle.net/32Bck/625/
我正在尝试将我的自动完成选择的值添加到 ID 为 initialNameField
的特定输入字段。
自动完成:
<div class="ui-widget">
<label for="tags">Search: </label>
<input class="tags" />
</div>
输入:
<input type="text" th:field="*{selectedInitialName}" class="initialNameField" id="initialNameField"
name="initialName"/>
包括:
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" />
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
自动完成脚本:
<script type="text/javascript">
//<![CDATA[
$(function() {
var availableTags = [
"1",
"2",
"3",
"4",
];
$(".tags").autocomplete({
source: availableTags,
minLength: 1,
dataType: 'json',
select: function(event, ui) {
$('#initialNameField').val(ui.item.id);
}
});
});
//]]>
</script>
我应该怎么做才能完成这项工作?
您必须像这样设置值:
$('#initialNameField').val(ui.item.value); // Or ui.item.label
因为ui
是一个像这样的对象:{"item":{"label":"1","value":"1"}}
在这里 fiddle 工作:https://jsfiddle.net/wc0rtpa9/
将选中的文本设置为文本框时,请尝试使用ui.item.label。
$(document).ready(function () {
var availableTags = [
"1",
"2",
"3",
"4",
];
$(".tags").autocomplete({
source: availableTags,
minLength: 1,
dataType: 'json',
select: function(event, ui) {
$('#initialNameField').val(ui.item.label); // input the selected text
}
});
});
这是示例工作代码:http://jsfiddle.net/32Bck/625/