2014-12-01 77 views
0

我试图在附加字段中进行自动填充。例如:附加字段中的自动完成

  1. 我点击使用id = “add_field” 链接添加动态字段的形式

    var counter = 0; 
    $(function(){ 
        $('a#add_field').click(function(){ 
        counter += 1; 
        $('#container').append(
         '<input id="field_' + counter + '" name="dynfields[]' + '" class="name" type="text" /><br />'); 
        }); 
    }); 
    
  2. 制造商区域自动完成

    $(document).ready(function(){ 
        $("input[class=name]").autocomplete({ 
        source:'searches/product_autocomplete.php', 
        minLength:2 
        }); 
    }); 
    

但是它不做自动完成。
我已经在类=“名称”的静态字段中试过这个,它的工作原理。但它在动态字段中不起作用。

回答

1

你可以在创建它的自动完成安装到新的元素:

$(document).ready(function() { 
     var counter = 0; 
     $('#add_field').click(function() { 
      counter += 1; 
      $('<input id="field_' + counter + '" name="dynfields[]' + '" class="name" type="text" /><br />') 
       .appendTo($('#container')) 
       .autocomplete({ 
        source: 'searches/product_autocomplete.php', 
        minLength: 2 
       }); 
     }); 
    }); 
+0

谢谢!这对我有效。 – 2014-12-01 20:53:29

0

如果您要添加动态HTML,那么在页面加载时不会将其加载到DOM中。您可能需要在页面加载后附加一个事件。

尝试:

var counter = 0; 
$(function(){ 
    $("#dataTable tbody")on('click', 'tr', function() 
    { 
     counter += 1; 
     $('#container').append(
     '<input id="field_' + counter + '" name="dynfields[]' + '" class="name" type="text" /> 
     <br />'); 
}); });