【问题标题】:Cannot pass autocomplete selection value to input field无法将自动完成选择值传递给输入字段
【发布时间】:2017-09-13 22:24:42
【问题描述】:

我正在尝试将自动完成选择的值添加到 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>

我应该怎么做才能完成这项工作?

【问题讨论】:

  • 浏览器控制台没有错误?

标签: javascript jquery spring-mvc spring-boot jquery-ui-autocomplete


【解决方案1】:

当您将选定的文本设置为文本框时,请尝试使用 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/

【讨论】:

    【解决方案2】:

    你必须像这样设置值:

    $('#initialNameField').val(ui.item.value); // Or ui.item.label
    

    因为ui 是这样的对象:{"item":{"label":"1","value":"1"}}

    在这里工作:https://jsfiddle.net/wc0rtpa9/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-14
      • 1970-01-01
      • 2018-10-01
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      相关资源
      最近更新 更多