2013-06-30 3 views
1

동적으로 입력 텍스트 필드를 만들려고합니다. jquery 사용하여 입력 필드를 생성 할 수 있지만 사용자가 동적으로 만든 필드 중 하나를 클릭 할 때마다 그의 포인터를 자동으로 첫 번째 필드로 이동합니다. 이제 Tab 키만 사용하여 특정 필드로 이동하고 세부 정보를 입력 할 수 있습니다.동적으로 생성 된 입력 필드의 이상한 동작

Here은 제가 직면 한 것을 경험할 수있는 피들입니다.

그리고 여기에 코드

HTML

<head>  
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
     <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script> 
</head> 

<body> 

<label><div id= "div1"><input class="address" id="friend1" type="text"></div></label>  
<div id='wrapper2'><div id="button2" class='removebutton'>Remove</div><div id="button">Add!</div></div>   
<div id="submit-button" >GO!</div> 
    </body> 

JS

$(document).ready(function() 
{ 
      var friends_cnt = 1; 

    $('#wrapper2').on('click','#button',function() 
         {     
          clicknum = 0; 
          if (friends_cnt < 11) 
          { 
           $('<div id = div'+(friends_cnt+1)+'><input type="text" class="address" id="friend' + (friends_cnt+1) + '"></div>').insertAfter('#div'+friends_cnt);   
           $(function() { 
           $("#friend"+(friends_cnt+1)).autocomplete({ 
            source: function(request, response) { 
            geocoder.geocode({'address': request.term }, function(results, status) { 
             response($.map(results, function(item) { 
             return { 
              label: item.formatted_address, 
              value: item.formatted_address, 
              latitude: item.geometry.location.lat(), 
              longitude: item.geometry.location.lng() 
             } 
             })); 
            }) 
            }, 
           }); 
           });  
          friends_cnt++; 
          } 
          else 
          { 

          } 

         }); 



         $('#button2').click(function() 
         {      
          clicknum = 0; 
          if(friends_cnt > 1) 
          { 
           $('#friend'+friends_cnt).remove(); 
           $('#div'+friends_cnt).remove(); 
           friends_cnt--; 
          }  

         }); 

}); 

답변

2

이유는 HTML 문제입니다. 나는 label 가까운이 같은 태그 이사 :

<div id= "div1"><label></label><input class="address" id="friend1" type="text" /></div> 

지금 포인터가 점프되지 않습니다 봐 :

http://jsfiddle.net/g84t4/4/

+0

는 u는 무슨 일인지 설명 할 수 있습니까? 라벨로 인해이 문제가 발생합니까? – user1263375

+0

@ user1263375 여기 w2schools에서 찾은 내용 : * '

관련 문제