2011-10-04 6 views
2

아마도 질문에서 알 수 있듯이 숨겨진 입력에 일어나는 한 가지 변경을 트리거하려고합니다.jQuery에 의한 숨겨진 입력에 대한 변경을 모든 이벤트에서들을 수 있습니까?

후드에서
<input type="hidden" name="secret" id="secret" onchange="alert(MSG);" value="0" /> 

, 나는로드 1로 jQuery를, 입력 값의 변화와 함께 이루어집니다 그리고 경고 상자가 표시되지 않습니다 또한 숨겨진 사업부, 일부 데이터를로드!

로드 HTML :이 변화를 트리거 할 수있는 방법

$('.somediv').load('ajax.php?changesecret=yes'); 

변경, PHP

<script type="text/javascript"> 
    $("#secret").val(1); 
</scipt> 

어떤 아이디어에서 오는?

+0

당신이 입력 값은 당신이로드하는 코드를 제대로 변경되는 확신 : 인수없이 .change()를 적용, 수동으로 이벤트를 트리거하려면? – nrabinowitz

+0

예. 방화범에 감사드립니다. 나는 그 변화가 일어나는 것을 볼 수 있습니다. – mentorgashi

답변

0

이 같은 자바 스크립트에서 모든 것을 처리 할 수있는 :

$.get('ajax.php', 
    { 
     changesecret: 'yes' 
    }, 
    function (data) // This gets the data back from ajax.php 
    { 
     $('.somediv').html(data); 
     alert(MSG); 
    } 
); 
+0

Tom, 대안이 아닌 문제에 대한 해결책이 필요합니다. 시도해 주셔서 감사합니다. – mentorgashi

1

어떻게 값을 수동으로 변경 한 후 이벤트를 트리거에 대해? 수동뿐만 아니라 그것을 유발하지 않는

<script type="text/javascript"> 
    $("#secret").val(1).trigger('change'); 
</scipt> 
+0

답장을 보내 주셔서 감사합니다. : S – mentorgashi

0

jQuery 코드를 통해 수행 입력에 대한 변경은 늘 change 이벤트를 트리거합니다. 다음을 시도해보십시오 jQuery documentation

에서

$("#secret").val(1).trigger('change'); 

또는

$("#secret").val(1).change(); 

발췌 필드에 내용을 변경하지 않고,하지만, 이벤트가 트리거되지 포커스를 잃었을 경우.

$('#other').click(function() { 
    $('.target').change(); 
}); 
+0

아니요, 아직도하지 않았습니다 : S. 변경 사항은로드 된 html에서 비롯 되었기 때문에 브라우저는 그런 방식으로 이벤트를 강제 실행하지 않는다고 생각합니다. – mentorgashi

관련 문제