8

<div>jQueryUIモーダルダイアログの終了時にを更新したいと思います。

私のコードは次のとおりです。

var dialog = jQuery('#divPopup').dialog({
    autoOpen: false,
    height: 450,
    width: 650,
    modal: true,
    open: function(event, ui) {
        jQuery('body').css('overflow', 'hidden');
    },
    close: function(event, ui) {
        jQuery('#divPopup').dialog('destroy').remove();
        jQuery("#bodyId").load("http://www.xyz.com/ #bodyId");
    }
});

しかし、それを置き換える代わりに、それは<div>古いものの中に新しいものを追加します<div>

<div id="bodyId">
    <div id="bodyId">
        New Response
    </div>
</div>

bodyId古いdivを新しいdivに置き換えたいbodyId

4

3 に答える 3

12

これを置き換えてみてください:

jQuery("#bodyId").load("http://www.xyz.com/ #bodyId");

... これとともに:

jQuery("#bodyId").load("http://www.xyz.com/ #bodyId > *");

これは、URLの後に任意のセレクターを使用できるため機能します。#bodyId > *だけでなくを使用すると、div自体ではなく、div#bodyIdにあるすべてのものと一致します。

.load()要素を置き換えないため、これが必要です。AJAX呼び出しの結果を要素に追加します。

または、次のように、を使用.get()してデータをロードし、手動で選択を実行することもできます。

$.get('http://www.xyz.com/', function(data) {
    var newContent = $(data).find('#bodyId').children();
    $('#bodyId').empty().append(newContent);
});

両方の方法の例はここにオンラインであります:http://jsfiddle.net/PPvG/47qz3/

于 2012-01-16T06:03:11.827 に答える
0

jquery.getを使用することもできます。

$.get('http://www.xyz.com/', function(data) {
  $('#bodyId').html(data);
});
于 2012-01-16T06:10:26.820 に答える
-4

あなたはこのコードを次のように使用するかもしれません

$('#bodyID').remove();
$('#bodyID').load();
于 2012-01-16T06:00:06.873 に答える