1

在使用对象数组作为其源的 JQuery 自动完成中,我可以在 INPUT 中显示标签并稍后访问该值吗?默认行为是选择后在 INPUT 中显示该值。在这种情况下,这些值表示表中行中唯一键的索引。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>autocomplete demo</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
</head>
<body>
    <label for="autocomplete">Select a programming language: </label>
    <input id="autocomplete">
    <script>
    $( "#autocomplete" ).autocomplete({
      source: [ { label:"c++", value:1 }, { label: "java", value:2 }, { label: "javascript", value:3 } ]
    });
    </script>
</body>
</html>
4

1 回答 1

1

通过所选标签设置输入的 val 以显示标签而不是其值

$( "#autocomplete" ).val( ui.item.label );

在输入上添加数据属性

<input id="autocomplete" data-value>

并存储选定的值

$( "#autocomplete" ).attr("data-value",ui.item.value);

这是JSFiddle

于 2013-10-25T21:51:41.997 回答