2016-04-05 8 views
0

私はjQuery Mobileを使用しています。私のページはindex.phpファイルから生成されています。私がリンクをクリックすると、私のPHPファイルの別のオプション(index.php?action = other_action)を参照するとAjaxで読み込まれるので、前のコンテンツはコード内に保持されます。特定のIDを使用しているので、これはもう何も動的ではないため、問題が発生します。もちろん、Ajaxは機能しませんが、jQuery Mobileの美しさはすべて失われています。jQuery:ページを削除する

解決方法は、<a>にonclick関数を作成することで、ページが以前のコンテンツを保持したり、古いページを削除したりするのを防ぐことができると思います。

私のダイナミックな要素を壊さないような方法でAjaxを使い続ける方法はありますか?

アクションhereで見ることができます。すべてがうまくいくと名前をフィルタリングできます。次に左上のパネルをクリックして何かをクリックすると、インスペクタで何が起こるかを確認します。

ありがとうございました。あなたはqoutes内のセレクタを囲む逃した

+0

jQueryモバイルを使用してアプリケーションの機能をオーバーライドするのではなく、その機能を開発することをお勧めします。 – apokryfos

+0

明確な例がなければ、問題が何であるかを知ることは難しいです。しかし、問題がDOM IDが重複している場合は、コンテナを削除する代わりに、コンテナを追加するのではなく、そのコンテナを置き換えないでください(これはあなたが行っていると仮定していますが、 ID? – moopet

+0

jQueryはDOMツリーから要素を削除することができます。あなたはちょうどそれを行う必要があります... – arkascha

答えて

0

こんにちは...

あなたのjQuery

$(document).ready(function() { 
    //bind a listener to "click" event on links with class "markviewed" 
    $('a.ui-btn-present').click(function(event) { 
    $('ul.listlist').listview('refresh'); 

$(#1 pageone).remove(); // < - セレクタは、はるかに研究した後

// get ids from clicked <a> 
    var id = $(this).attr('data-id'); 
    $(this).attr({ 
      "class" : "ui-btn ui-btn-icon-notext-ok ui-icon-check ui-btn-a" 
     }); 
+0

これを '$( '#pageone')に変更してください。 // < - セレクタは引用符の中にある ' – RRR

+0

ありがとう!私はまだjavascriptの初心者ですが、私は本当の問題の解決策を見つけました。あなたの時間をもう一度感謝します。 –

0

引用符で私は正しい方向に見ていませんでしたする必要があります。問題は、リストビューをリフレッシュしなければならなかったということでした。だから私は、新しい機能

<script> 
function refreshlist() { 
    $('.listlist').listview("refresh"); 
    $('#pageone').remove();  
}; 
</script> 

を作成し、私はすべてのリンクにonclick= "refreshlist()"を追加し、今では動作します。

関連する問題