使用对象数组作为其源的 JQuery 自动完成的返回值

Return value of a JQuery autocomplete using an array of objects as its source

本文关键字:JQuery 返回值 对象 数组      更新时间:2023-09-26

在使用对象数组作为其源的 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>

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

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

在输入中添加数据属性

<input id="autocomplete" data-value>

并存储所选值

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

这是JSFiddle