什么: 我想创建一个自动填充功能,管理员可以从下拉列表中选择一个用户 另外,我想在我的页面上显示所选用户的ID。
问题:我遇到的问题是空白下拉列表自动填充字段,我不知道如何解决这个问题。 ID也没有更新。
代码
使用Javascript:
// Values
var names = [
{
id: 1,
name: 'Max'},
{
id: 2,
name: 'John'},
{
id: 3,
name: 'Gray'},
{
id: 4,
name: 'Bob'},
{
id: 5,
name: 'Terminator'}
];
// Autocomplete start..
$('#suggested-users').autocomplete({
source: names,
select: function() {
$('#user-id').html(ui.item.id);
}
});
HTML:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery.ui.all.css">
</head>
<body>
<input type="text" id="suggested-users">
<hr>
<p><strong>ID:</strong><span id="user-id"></span></p>
</body>
</html>
JSFiddle: JSFiddle
感谢您的回答!
答案 0 :(得分:3)
您需要使用属性为label
和value
的对象。 Source
答案 1 :(得分:2)
var opt;
// Values
var names = [
{
label: 'Max',
value: 1},
{
label: 'John',
value: 2},
{
label: 'Gray',
value: 3},
{
label: 'Bob',
value: 4},
{
label: 'Terminator',
value: 5}
];
// Autocomplete start..
$('#suggested-users').autocomplete({
source: names,
select: function(e, ui) {
$('#user-id').html(ui.item.value);
opt = ui.item.label;
},
close: function() {
$('#suggested-users').val(opt);
}
});