2012-11-14 2 views
-2

입력 필드 집합을 추가하는 스크립트가 있습니다. 그것은 잘 작동하지만 내 모든 문제는 내가 페이지의 중간에있는 페이지를 추가하는 버튼을 클릭 할 때마다, 페이지는 페이지의 상단으로 이동합니다. 어떻게하면 정상으로 올라가지 않게 할 수 있습니까? 죄송합니다, 여기에 APPEND 스크립트입니다 : 당신의 버튼은 다음과 같이 보이기 때문에정지 페이지가 위로 이동하지 않습니다.

var count = 0; 
$(function(){ 
$('a#add_field').click(function(){ 
count += 1; 

$('#activation').append(
      '<div id="features_remove" style="float:left; width: 11%; margin-left:115px;">' 
      +'<label>features remove</label>' 
      +'<select id="features_remove' + count + '" name=features_remove' + count + '" class="input-medium" >' 
       +'<option value="" selected="&nbsp;" >&nbsp;</option>' 
       +'<option value="MPP" >MPP</option>' 
       +'<option value="50 Data" >50 Data</option>' 
       +'<option value="Navigation" >Navigation</option>' 
       +'<option value="Insurance" >Insurance</option>' 
       +'<option value="Road Side Assistance" >Road Side Assistance</option>' 
      +'</select>' 
      +'</div>' 
      ); 
     });  
}); 

그리고 네,이 버튼에는 코드가 게시되지 않기 때문에

<a href="#" class="btn btn-mini btn-danger" id="add_field"><span>Add In-Store Activation</span></a> 
+5

"입력란 추가"코드를 추가하십시오. – Mansfield

+2

게시물에 스크립트를 포함하면 매우 유용 할 것입니다. 당신이 당신의 코드 – Webnet

+0

이 사이트는 초능력으로 가득 생각 다른 사람의 'e.preventDefault을()'이 누락 가능성이 이상은 –

답변

1

실제로 필드 <a href="#"> 링크를 추가하는 데 사용되는 "버튼"인가 그런 다음, 다음과 같은 jQuery를 마법을해야합니까?

jQuery가 링크의 기본 동작을 방지하기 위해 사용할 수있는 해시로 인해 페이지 상단으로 이동할 수 있습니다. 하지만 jQuery (또는 일부 플러그인)는 해시를 인라인 앵커로 사용할 수 있습니다. 예. href = "# listTop"은 페이지에서 id = "listTop"요소를 검색하고 화면 상단을 해당 요소의 맨 위로 스크롤합니다. href = "#"를 누르면 효과적으로 화면 맨 위로 스크롤됩니다.

jQuery 클릭 이벤트 핸들러에서 false를 반환하거나 매개 변수 e를 이벤트 핸들러에 추가하고 e.preventDefault();를 호출해야합니다. 메서드 본문에.

<a href="" class="addOne">add row</a> 

그리고

$('addOne').click(function(e){ 
    e.preventDefault(); 
    // the rest of your logic 
}); 

이 내가 제공 한 정보와 함께 당신을 줄 수있는 최고의 기회입니다. 자신의 상황에 대한 몇 가지 코드와 자세한 설명을 제공하면 도움을받을 수 있습니다.

+0

대단히 감사합니다. 이건 내 문제가 해결. =) –

5

에게, 나는 단지 가정하고 그것입니다

<a href="#" id='myButton'>Button Text</a> 

#은 해당 앵커로 건너 뛰도록 페이지에 지시합니다. 그리고 그 앵커가 정의되지 않았으므로 맨 위로 이동합니다.

대신보십시오 : 당신이, 당신의 "버튼"을 가정하고 작성하는 내용에 따라 당신은 몇 가지 코드를 게시해야

$("#myButton").click(function(e){ 
    e.preventDefault(); 
}); 
+1

젠장, 당신은 마무리 라인에 나를 이길,하지만 당신은'자바 스크립트를 포함 할 수 없습니다 :; in href. 'preventDefault'는 URL에 앵커가 포함되지 않습니다. – OptimusCrime

3

:하지만,

<a href="javascript:;" id='myButton'>Button Text</a> 

아니면 자바 스크립트 코드를 사실 href="#"와의 연결입니다.

이 점프를 중지하려면 ID를 부여하십시오 (예 : id="mybutton").

$('#mybutton').on('click',function(e){ 
    if (e.preventDefault) 
     e.preventDefault(); 
    else 
     e.stop(); 
}) 
+0

답장을 보내 주셔서 감사합니다. 내 버튼과 추가 스크립트를 올렸습니다. 제가 제안한 스크립트를 정확히 어디에 추가할까요? –

+0

아차, 나는 그것을 얻었다. 정말 고마워요. –

관련 문제