也许你也从问题中理解,我试图触发一个隐藏输入发生的变化。
<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 :(得分:1)
如何在更改值后手动触发事件?
<script type="text/javascript">
$("#secret").val(1).trigger('change');
</scipt>
答案 1 :(得分:0)
你可以在这样的javascript中处理它:
$.get('ajax.php',
{
changesecret: 'yes'
},
function (data) // This gets the data back from ajax.php
{
$('.somediv').html(data);
alert(MSG);
}
);
答案 2 :(得分:0)
通过jQuery代码完成的输入的任何更改都不会触发change
事件,除非您手动触发它。试试这些:
$("#secret").val(1).trigger('change');
或
$("#secret").val(1).change();
如果该领域在没有改变内容的情况下失去焦点, 事件未触发。要手动触发事件,请应用 .change()不带参数:
$('#other').click(function() { $('.target').change(); });