2013-07-22 41 views
0

我想在每行上自动完成,但它只在第一行上工作。自动完成在第一行上工作,但不能在新行上工作

autocomplere在第一行工作正常,但是当我添加新行时,自动完成不起作用。 我的代码是在这里 任何解决方案,请

这里是HTML:

<table id="items"> 
    <thead> 
     <th>Items</th> 
    </thead> 
    <tbody> 
     <tr> 
      <td><input class="input3 item" name="name_1" type="text" value="" autocomplete="off"></td> 
     </tr> 
    </tbody> 
</table> 
    <br clear="both"> 
    <div id="addmore">Add new line</div> 

这里是jQuery的:

// add new line 
$("#addmore").click(
    function() { 
     var someText = '<td><input class="input3 item" name="name_2" type="text" value=""></td>'; 
    var newDiv = $("<tr>").append(someText); 
    $('#items').append(newDiv); 
    } 
); 

// get autocomplete tags 
    var availableTags = [ 
     "ActionScript", 
     "AppleScript", 
     "Asp", 
     "BASIC", 
     "C", 
     "C++", 
     "Clojure", 
     "COBOL", 
     "ColdFusion", 
     "Erlang", 
     "Fortran", 
     "Groovy", 
     "Haskell", 
     "Java", 
     "JavaScript", 
     "Lisp", 
     "Perl", 
     "PHP", 
     "Python", 
     "Ruby", 
     "Scala", 
     "Scheme" 
    ]; 

    $(".item").autocomplete({ 
     source: availableTags, 
     minLength: 1, 
    }); 

你可以在JS中小提琴看到:http://jsfiddle.net/anosim/n3auc/4/ 请帮助我,谢谢Advance

+0

请帮助我, – anosim

回答

3

你的新行是动态添加的,所以我认为你添加了一个新的行功能就需要这样一些额外的代码:

  $("#addmore").click(
       function() { 
       var someText = '<td><input class="input3 item" name="name_2" type="text" value=""> </td>'; 
       var newDiv = $("<tr>").append(someText); 
       $('#items').append(newDiv); 
       $(".item").autocomplete({ 
       source: availableTags, 
       minLength: 1, 
       }); 
      } 
      ); 

的jsfiddle:http://jsfiddle.net/n3auc/7/

+0

谢谢@gloria回答谢谢你对我来说是有帮助的。 – anosim

+0

请帮我在这个问题http://stackoverflow.com/questions/30637709/how-to-add-new-line-in-text-area-in-jquery-mulitple-autocomplete-when-pressing-e –

相关问题