2012-04-26 2 views
0

입력 변경에 대한 함수가 있는데, 이미있는 첫 번째 입력에 대해 작동하지만, jscript가 기타를 추가 할 때
입력 객체에 appendTo가 있으면 동일한 함수가 작동하지 않습니다.appendTo 객체가 jquery 변경에 대한 조치를 취하지 않음

$("input[type=file]").change(function() { 
$('<input name="fails[]" type="file" />').appendTo('#input_lauki'); 
$('<a href="#" onclick="dzest(this);return false" class="link" name="dzest" style="font-weight:normal; display:inline;">Izdzēst</a><br/>').appendTo('#input_lauki') 
$('.link').css('display','inline'); 

}); 

고마워요! 이 특별한 취급이 있기 때문에 당신이 읽어야하는,

$.on("change", "input[type=file]", function() { 
    $('<input name="fails[]" type="file" />').appendTo('#input_lauki'); 
    $('<a href="#" onclick="dzest(this);return false" class="link" name="dzest" style="font-weight:normal; display:inline;">Izdzēst</a><br/>').appendTo('#input_lauki') 
    $('.link').css('display','inline'); 

}); 

또는 live 당신이 jQuery를 이전 버전을 사용하는 경우 :

답변

0

당신은뿐만 아니라 DOM에 추가 된 새로운 요소를 결합하는 $.on를 사용할 필요가 문서에 대해.

+0

$이 : 예는'$를 읽어야합니다 ('#의 input_lauki ') .on ('change ','input [type = file] '' –

-1

당신은 당신이 입력 파일의 정의 된 금액을 한 변경 사항 이벤트 핸들러를 정의 할 때

$('input[type=file]').on('change',function(){ 

//your code 


}); 
+0

'live'는 새로운 jquery 버전에서 사용되지 않습니다. 대신'on()'을 사용해야합니다 – fcalderan

0

을 시도 할 수 있었다, 그래서 나중에 삽입 새로운 입력 해당 이벤트에 대해 정의 된 핸들러가 없습니다.

대신 부모 #input_lauki

$("#input_lauki").on('change', 'input[type=file]', function() { 
... 
} 

예를 들어 바이올린에 이벤트를 캡처해야

: 선택한 요소에 적용 할 필요가 CSTE 연구진은 http://jsfiddle.net/TwWEt/

관련 문제