2011-09-20 2 views
0

내가

$('#username').after('<div class="loading"></div>'); 

만이 이름의 ID에 대한 작동합니다 ... 폼에 위해 onblur 이벤트를 사용하여 현재 작업 부하에 대한 코드로 이것을 가지고 있어요, 나는 (이)로 변경 생각했다 like

$(this).after('<div class="loading"></div>'); 

그런 다음 스크립트가 사용되는 필드의 입력 필드 뒤에 div가 표시됩니다. 왜이 문제가 발생하지 않습니까 ??

업데이트 그냥 내가 입력 필드에 클래스 로딩을 할당도 작동하지 않습니다 다음과 ... 시도했다.

$('.loading').(this).after('<div class="loading"></div>'); 
+0

누가 알겠습니까? 충분한 코드를 제공하지 않았습니다. – Matt

+0

'$ (this)'가'onblur'을 발생시키는 요소를 참조하므로 이벤트를 발생시킨 모든 필드 다음에 나타나야합니다. – m90

+0

jQuery의 event.target을'this'가 아닌 왜 사용합니까? 예제를 공유하려면 http://jsfiddle.net/을 확인하십시오. – StuperUser

답변

3

div가 비어있어 표시되지 않으므로 방화 상자에 있어야합니다. 당신이 ,

$('.loading', this).after('<div class="loading"></div>'); 
+0

예이 작품 덕분에 :) – carlgcode

+0

당신은 환영합니다':)' – Rafay

1

대신이 시도

$("#username").blur(function(){ 

$(this).after('<div class="loading">test</div>'); 

}); 

이 바이올린을 볼 시도 할 수 있습니다 특정 스크립트 (유효성 검사 또는 자동 완성 또는 그와 비슷한 것)가있는 몇 가지 필드가있는 양식

이제 흐린 경우 필드 뒤에 삽입 된로드 div가 필요합니다.

HTML : (jQuery로)

<form id="myForm"> 
    <input class="toBeProcessed" type="text" id="Name"></input> <!-- this field will be selected thanks to the class 'toBeProcessed' --> 
    <input type="text" id="age"></input> <!-- this field won't be processed --> 
</form> 

자바 스크립트 :

$('#myForm input.toBeProcessed').blur(function(){ 
    var inputEl = $(this); 
    inputEl.after('<div class="loading"></div>'); 

    doMyOtherScript(inputEl); 
}); 
당신은 당신이 원하는 것을 스크립트를 트리거해야이 같은 흐림 이벤트

,하고 스크립트가되어야한다고 후 로드 div를 다시 제거하는 중 ...

관련 문제