处理 Jquery-ui 自动完成的标签值对

Handling Jquery-ui Autocomplete's label value pairs

我正在使用 Jquery-ui Autocomplete 扩展程序。以下是我的使用方法:

<form action="example.php" method="post">
  <input id="auto" name="label" type="text" />
  <input id="coauto" name="value" type="hidden" value="" />
</form>

<script>
    $('#auto').autocomplete({
         source: [{label: 'milan', value: 1}, {label: 'inter', value: 2}, {label: 'juventus', value: 3}]
    })
</script>  

当我点击 'm' 时,会出现 milan。对于那件事我没有任何疑问。但是我想要 milan 的值(即 1)为 #coauto's value.So 我可以将它们发送到 example.php。我怎样才能做到这一点?我没有看到关于 value 的任何信息,而 label 工作正常

您可以使用 focus 或 select 等回调函数。 对于渲染,您可以使用

.autocomplete("instance")._renderItem = function(ul, item) {

这里有一个示例代码,仅供您参考。

$('#auto').autocomplete({
         source: [{label: 'milan', value: 1}, {label: 'inter', value: 2}, {label: 'juventus', value: 3}]
         ,

            focus : function(event, ui) {

                $("#coauto").val(ui.item.value);
                return false;
            },

            select : function(event, ui) {
                $("#coautoFormField").val(ui.item.value);

                $("#hautoDetailsForm").submit();
                return false;
            }

    })