当前位置: 首页 > 知识库问答 >
问题:

自动完成动态创建的输入

阳英朗
2023-03-14

第一个帖子!和一个java的noob*随便!

我知道有很多关于这个话题的帖子,我已经读过了…我就是解决不了。

我有一个非常简单的HTML表单,有静态输入和动态创建的输入。

HTML自动完成

    <script type="text/javascript">
    // Funcion Autocomplete de jQuery para buscar los clientes y los productos en el input con id "buscar" y clase "buscar_prod"
    $().ready(function() {
        $("#buscar").autocomplete("get_client_list.php", {
            width: 260,
            matchContains: true,
            selectFirst: false
        });
    });
    $().ready(function() {
        $(".buscar_prod").autocomplete("get_product_list.php", {
            width: 260,
            matchContains: true,
            selectFirst: false
        });
    });
</script>

HTML表单

<form method="post" action="add_order.php">

 Cliente: <input type="text" name="cliente" id="buscar">

 <div id="dynamicInput">
      Referencia y cantidad <br><input type="text" class="buscar_prod" name="input_referencia[]"><input type="text" name="input_cantidad[]">
 </div>
 <input type="button" value="Adicionar otra referencia" onClick="addInput('dynamicInput','order');">
 <input type="submit" name="guardar" value="Guardar" />

null

AddInput.js

var counter = 1;

function addInput(divName,category){
    switch(category){
    case "order":
        var newdiv = document.createElement('div');
        newdiv.innerHTML = "Referencias y cantidad " + (counter + 1) + " 
"; document.getElementById(divName).appendChild(newdiv); counter++; break; case "product": var newdiv = document.createElement('div'); newdiv.innerHTML = "Componente y cantidad " + (counter + 1) + "
"; document.getElementById(divName).appendChild(newdiv); counter++; break; case "component": var newdiv = document.createElement('div'); newdiv.innerHTML = "Proveedor y Precio " + (counter + 1) + "
"; document.getElementById(divName).appendChild(newdiv); counter++; break; } }

所以问题很简单…给定这些代码,我如何在每个新生成的输入中实现自动完成。

事先多谢。

共有1个答案

董权
2023-03-14

您可以在将元素添加到DOM之后附加autocomplete,如下所示:

$(newdiv).autocomplete("get_client_list.php", {
    width: 260,
    matchContains: true,
    selectFirst: false
});

您可以根据您的switch-case语句调用特定的自动完成代码。

 类似资料:
  • 我想创建基于自动完成输入的动态谷歌地图。我把代码写成:- 地图没出现。请解决它..我通过参考https://youtu.be/2n_r0ndekgc上的视频编写了代码

  • 问题内容: 有谁知道用Knockout JS模板创建自动完成组合框的最佳方法吗? 我有以下模板: 有时候,这个清单很长,我想让Knockout在jQuery自动完成功能或一些直接的JavaScript代码方面表现出色,但收效甚微。 另外,jQuery.Autocomplete需要输入字段。有任何想法吗? 问题答案: 这是我编写的jQuery UI自动完成绑定。它的目的是镜像,,,与几个新增的选择要

  • 我试图用datalist html创建一个自动完成。这是我代码:

  • 问题内容: 如何使用Redis实现自动完成功能? 比如说我有一个数组。当我型我得到 我希望你明白这一点。我如何有效地使用redis命令来实现这一点(如果可能,但我认为是)。如果我能通过telnet尝试一些简单的命令来模仿这种行为,那就太好了。 谢谢 问题答案: 如果您要处理的是大型数据集,建议您考虑将其实现。我将一小部分Ruby做到了这一点: 例如: 在Wikipedia的Tries条目上阅读有关

  • 自动完成是现代网站中经常使用的一种机制,用于向用户提供他/她在文本框中键入的单词开头的建议列表。 然后,用户可以从列表中选择一个项目,该项目将显示在输入字段中。 此功能可防止用户输入整个单词或一组单词。 JQueryUI提供了一个自动完成窗口小部件 - 一个与下拉列表非常相似的控件,但过滤选项只显示与用户在控件中键入的内容相匹配的选项。 jQueryUI提供了autocomplete()方法,用于

  • md-autocomplete是一个Angular Directive,用作一个特殊的输入控件,带有内置下拉列表,显示与自定义查询的所有可能匹配。 一旦用户键入输入区域,该控件就充当实时建议框。 《md-autocomplete》可用于从本地或远程数据源提供搜索结果。 执行查询时md-autocomplete缓存结果。 第一次调用后,它使用缓存的结果来消除不必要的服务器请求或查找逻辑,并且可以禁用