2011-06-22 16 views
1

をリロード:jQueryのロケータが間違ったページに探していた後、私は以下のページを持っている

$.get('/Widgets/rss.aspx', { TabControlID : 385}, function(data) { 
    $('#drbox385').html(data); 
}); 

これは問題なく動作します。 rss.aspx内部

コード:コンフィギュレーション・データはdefault.aspxを に見えないのiframeに掲載されて保存]ボタンをクリックすると

<input type="submit" value="Save" /> 

<div id="RSSfeed<%=TabControlID %>"> 

<script type="text/javascript"> 
    var gurl = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q=<%=MyUrl%>&num=<%=MyCount %>"; 
    $.getJSON(gurl, function (data) { 
    var feeds = data.responseData.feed; 
    if (!feeds) { 
     $("#RSSfeed<%=TabControlID %>").append('There was an error loading this feed.'); 
     } 
     else 
     { 
      for (var i = 0; i < feeds.entries.length; i++) { 
       var entry = feeds.entries[i]; 
       var title = entry.title; 
       var link = entry.link; 
       var description = entry.contentSnippet; 
       var html = "<div class='stippel'><img height='10' width='10' src='/images/rss10.png' style='margin-right:2px;'><a target='_blank' href='" + link + "' class='feed_item_link' title='" + description + "'>" + title + "</a></div>"; 
       // this line doesn't work after reload 
       $("#RSSfeed<%=TabControlID %>").append($(html)); 
       // end of bug 
      } 
     } 
    }) 
</script>  

のiframeを持つウィジェットをリロードするには、次のコードを生成します新しい構成:

$(document).ready(function(){ 
var str; 
str = "<div style='text-align:center'><img src='/images/loading.gif' width='32' heigth='32'/></div>"; 
$(parent.document).find('#drbox385').html(str); 
$.get('/Widgets/rss.aspx', { TabControlID : 385}, function(data) { 
$(parent.document).find('#drbox385').html(data); 
}); 
}); 

データがページに戻ってロードされますが、rss.aspx内のコード行は動作しません:

$("#RSSfeed<%=TabControlID %>").append($(html)); 

jQueryのID#RSSfeed385を探しているrss.aspxの内部の代わりに、default.aspxを

この動作を変更するための正しい構文は何ですか?

答えて

0

そのように追加します。私はまた、あなたが実際に追加する要素を検索前に$を追加することでrss.aspx内

http://api.jquery.com/append/

をトップ文書を検索するためにそれらを伝えるためにwindow.top.documentを追加していない

$("#RSSfeed<%=TabControlID %>", window.top.document).append(html); 

それらを削除してhtml変数の中にコードを追加します。

+0

これは – WilfriedVS

+0

@WilfriedVSを見ているので、#RSSfeedXXXはjqueryので配置できない(あなたのコードは短いですが)問題への答えではありません、window.top.documentは私が必要としていたものでした – Aristos

+0

おかげでそれをチェックアウト、それはrss.aspxの代わりのdefault.aspxに、私はそれを更新してい – WilfriedVS

関連する問題