1

これに対するいくつかの解決策を読みましたが、どれも手間がかからないため、これを解決するための最新の解決策が存在するのではないかと思いました. 問題はしばらく前からあったので、とにかくそうすべきです。より最近の 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()" />

私が欲しいのは、このボタンが何をするかをトリガーすることだけですが、コードによって...誰かが私がどこで間違ったのか分かりますか?

4

1 に答える 1

7

コードで変更ハンドラーをトリガーする必要があります。changeスクリプトで値を更新してもイベントは発生しません

parent.window.document.getElementById(parent.window.imageInputField).value = '{{ path }}'+image;
$('#data_1').change()
于 2012-12-29T19:43:07.050 に答える