自动完成动态创建的输入

时间:2014-04-04 12:32:36

标签: jquery autocomplete

第一篇文章!和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" />

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 个答案:

答案 0 :(得分:0)

您可以在将元素添加到DOM后附加自动填充,例如:

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

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