尝试填充多个字段时自动完成加载空白数据

robert_rg

尝试使用自动完成功能选择一个值并填写多个字段。

键入时,在自动完成功能上出现小的空白行并停止搜索。

我相信问题出在.data(“ ui-autocomplete”)._ renderItem或不受支持的jquery。引用此Fiddler代码,我的代码可在fiddler上使用,但不适用于我的项目。不知道是什么原因引起的。

使用ASP Core 3.1并返回与下面相同的json(项目)

Java脚本

 $(function() {
  var projects = [
   {
      "id":1,
      "name":"Service 1",
      "price":250.00,
      "quantity":1,
      "decription":"some stuff"
   },

   {"id":2,
      "name":"Service 2",
      "price":250.00,
      "quantity":1,
      "decription":"more stuff"
   },

   {"id":3,
      "name":"Service 3",
      "price":50.00,
      "quantity":1,
      "decription":"extra stuff"
   }
  ]
 
    $(".order_name").autocomplete({
        minLength: 0,
        source: projects,
        focus: function (event, ui) {
            $(".order_name").val(ui.item.name);
            return false;
        },
        select: function (event, ui) {
            $(".price").val(ui.item.price);
            $(".name").val(ui.item.name);
            $(".quantity").val(ui.item.quantity);
            $(".description").val(ui.item.decription);
            return false;
        }
    })
        .data("ui-autocomplete")._renderItem = function (ul, item) {
            return $('<li></li>')
                .append("<a id='" + item.name + "'>" + item.name + "</a>")
                .appendTo(ul);
        };
});

的HTML

<div>Search:</div>

Search: <input class="order_name" />
<br><br>

Price : <input type="text" class="price" /><br>
Quantity : <input type="text" class="quantity" /><br>
Description : <input type="text" class="description" />
张白兰

如果您使用的是jQuery UI组件:以JSON对象作为源的自动完成功能,则可能需要将某些属性名称更改为“ label”和“ value”,其中:

标签属性显示在建议菜单中。用户选择项目时,该值将插入到输入元素中。如果仅指定一个属性,则将同时使用这两个属性,例如,如果仅提供值属性,则该值也将用作标签。

相关链接:https : //api.jqueryui.com/autocomplete/#option-source

因此,在您的情况下,应将“名称”属性更改为“标签”属性。

更多详细信息,您可以参考以下代码:

  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" 
            ></script>
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" />
    <script>
        $(function () {
            console.log("Start");
            var projects = [
                {
                    "id": 1,
                    "label": "Service 1",
                    "price": 250.00,
                    "quantity": 1,
                    "decription": "some stuff"
                },

                {
                    "id": 2,
                    "label": "Service 2",
                    "price": 250.00,
                    "quantity": 1,
                    "decription": "more stuff"
                },

                {
                    "id": 3,
                    "label": "Service 3",
                    "price": 50.00,
                    "quantity": 1,
                    "decription": "extra stuff"
                }
            ];

            $(".order_name").autocomplete({
                minLength: 0,
                source: projects,
                focus: function (event, ui) {
                    $(".order_name").val(ui.item.label);
                    return false;
                },
                select: function (event, ui) {
                    $(".price").val(ui.item.price);
                    $(".name").val(ui.item.label);
                    $(".quantity").val(ui.item.quantity);
                    $(".description").val(ui.item.decription);
                    console.log("select");
                    return false;
                }
            })
                .data("ui-autocomplete")._renderItem = function (ul, item) {
                    return $('<li></li>')
                        .append("<a id='" + item.label + "'>" + item.label + "</a>")
                        .appendTo(ul);
                };
        });
    </script>

演示:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

垫自动完成多个字段

Angular PrimeNG自动完成功能:显示多个字段?

Dynamics CRM 2016:自动完成多个字段

使用JQueryUI自动完成功能更新多个字段

在 Woocommerce 结帐时禁用自动完成字段(自动填充),某些字段除外

多个自动完成搜索字段

多个字段的自动完成功能在所有字段中显示相同的选项

加载大数据时,垫自动完成速度太慢

Jquery 自动完成空白字段

从自动完成填充文本字段

尝试汇总时获取“禁止加载字段数据”

Rails自动完成多个字段上的嵌入式文档

Django - JQuery 自动完成自定义从多个字段中选择

自动完成功能不适用于Solr中的多个字段

动态表单-根据先前的自动完成自动填充字段

JS自动计算多个字段的总数

React:当有多个字段要填充时如何设置状态

当1个字符填充了禁用的输入字段时,自动跳至下一个输入字段

当从一个字段中按下选项卡时,PHP自动填充字段

多个文本字段时自动完成的用户界面CSS问题

JQuery 在加载自动完成时崩溃页面

相关字段应填充多个字段 - Odoo

加载具有相同名称的多个字段的数据框

Elixir +苦艾酒+ Ecto +数据加载器–按多个字段过滤

尝试插入mysql数据库时忽略空白字段

MongoDB全文搜索,两个字段自动完成

多个文件/目录时终端自动完成?

Django自动完成指示灯:未填充字段

当我自动完成输入字段时,值将被标签覆盖,并且加载时也不会获得长度