我设置字段值w / javascript,onchange未触发。替代方案?

时间:2012-12-29 19:39:22

标签: javascript jquery forms onupdate

我已经阅读了一些解决方案,其中没有一个是无忧无虑的,所以我想现在可能有一些现代解决方案可以解决这个问题。无论如何,它应该存在一段时间了。最新的jQuery更新中的某些内容是什么?

我像这样设置表单字段:

parent.window.document.getElementById(parent.window.imageInputField).value = '{{ path }}'+image;

我有一个这样的onchange事件,我想在上面的字段更新时触发。

$('#data_1').change(function(){
img = "url(" + $('#data_1').val() + ")"
$('#slide_bg').css("backgroundImage", img );
});

更新

所以这段代码工作正常:

alert( $('#'+parent.window.imageInputField, window.parent.document).val() );

虽然这没有做任何事情,没有错误或什么都没有

$('#'+parent.window.imageInputField, window.parent.document).change();

此处定义了更改事件

$('#data_1').change(function(){
alert('change event called');
img = "url(" + $('#data_1').val() + ")"
$('#slide_bg').css("backgroundImage", img );
});

这很有效:

<input type='button' value='Uppdatera förhandsgr.' onclick="$('#data_1').change()" />

我想要的只是触发这个按钮的功能,但是通过代码......任何人都能看到我哪里出错了?

1 个答案:

答案 0 :(得分:7)

您需要使用代码触发更改处理程序。使用脚本更新值不会触发change事件

parent.window.document.getElementById(parent.window.imageInputField).value = '{{ path }}'+image;
$('#data_1').change()