2011-10-04 60 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

相关问题