2011-10-04 54 views
2

也許你也從這個問題中明白,我試圖觸發一個隱藏輸入發生的變化。任何事件都可以通過jQuery來改變隱藏的輸入嗎?

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

引擎蓋下,我的一些數據加載到一個div其中也隱藏,其中加載使用jQuery,輸入值的變化做了1.與警告框顯示不出來!

加載HTML:

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

變化從PHP

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

任何想法來了,我怎麼可以觸發這種變化?

+0

確定的輸入值是由你加載代碼正確地改變了嗎? – nrabinowitz

+0

是的,感謝螢火蟲的人,我可以看到發生的變化。 – mentorgashi

回答

0

你可以處理這一切在這樣的JavaScript:

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

湯姆,我需要的解決方案,而不是替代品。 非常感謝您的嘗試:) – 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(); 

摘錄:嘗試這些。要手動觸發事件,應用 .change()不帶參數:

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

不是男人,沒有這樣做:S。 因爲改變來自加載的html,我認爲瀏覽器不會以這種方式強制事件。 – mentorgashi

相關問題