0

div で呼び出された .html() 関数で問題が発生しています。選択オプション入力を含む div を含む jQuery ダイアログがあります。選択オプション入力の変更イベントで、.html() を使用して div に配置する新しいコードを生成する Java サーブレットに対して ajax 呼び出しが行われます。私のajax呼び出しの「成功」関数は次のとおりです。

success: function (data, textStatus, xhr) {
    if (data.length > 0) {
        alert($('#myDivId').html());
        $('#myDivId').empty().html(data);
        alert($('#myDivId').html());
    }
}

ここが楽しい部分です!選択値を初めて変更すると、非常にうまく機能します。再試行すると、ajax 呼び出しは期待どおりに機能しますが、画面 (chrome および IE) に表示されているものは、html() 関数によって返されたものを反映していません。初めて呼び出した後、アラートが表示されます。次のように言います。

<b>Hello</b>

html() 呼び出しの前、そしてそれが言った後:

<b>World</b>

しかし、Chrome と IE の Div にはまだHelloが表示されます。

どんな手掛かり?

4

1 に答える 1

0

私はついにここで問題を見つけました。divpb-divは動的に作成されました。私のアプリケーションの特定のケースでは、そのdivがページから削除されます。同じスクリプトを使用して再作成すると、ブラウズにはまだ他のdivなどのハンドルがあるように見えます。DIV名にタイムスタンプを追加するだけで、常に一意のIDを使用でき、機能しました。

于 2013-02-12T13:09:40.053 に答える