2011-10-20 10 views
1

Imはjquery/ajaxで昨日開始しました。そして私はいくつかのことを試してみるが、私は壁にぶつかる。私は、このスクリプトでは、私のjsのスクリプトが含まれ、インデックスファイルは私が使用されるインデックスファイルでは、2つの機能(下記参照)jqueryスクリプトは、後で動作しません.load()

を持っている

は(いくつかの行を持つテーブルが含まれているPHPファイルを含めることが含まmysqlからの行)。これは私のjsスクリプト(mod/hoofdmenu.php)の.loadにも使用するファイルを含んでいます。

1つのスクリプトは、ドラッグアンドドロップで行の順序を変更するためのものですが、これは完璧に機能します。 他のスクリプトは、画像をクリックすると1行を変更するためのものです(公開/非公開)。このスクリプトは完璧に機能します。しかし、私はこのスクリプトを実行すると、最初のスクリプト(ドラッグアンドドロップ)はもう動作しません。 「公開/公開解除」スクリプトは引き続き動作します。

私はそれが$( '#showdata')であると思うので、ロード( 'mod/hoofdmenu.php'); すべてのアドバイスや助力を非常に感謝しています。今AJAX要求によってロードされた新しいものに交換されたDOM要素に適用

$(function() { 
    $(".entry").live("click",function(event) { 
    event.preventDefault(); 
    var id = $(this).attr("id"); 
    var dataString = 'id='+ id ; 
    var parent = $(this).parent(); 
    $.ajax({ 
      url: "save.php",  
      type: "POST",  
      data: dataString,  
      cache: false, 
      success: function (html) { 
       $('#showdata').load('mod/hoofdmenu.php');   
      }  
     }); 
    }); 
}); 
$(function() { 
    $(".tbl_repeat tbody").tableDnD({ 
     onDrop: function(table, row) { 
      var orders = $.tableDnD.serialize(); 
      $.post('mod/order.php', { orders : orders }); 
     } 
    }); 

}); 

+1

を2 '$(関数(){'は –

答えて

1

ドラッグ&ドロップイベント:

は、JSファイルが含まれています。 tableDnDビヘイビアを新しい要素に配置する必要があります。

は、これを行うためのいくつかの空想livequeryスタイルの方法があるかもしれませんが、これは動作するはずです:なぜあなたは持っているん

function initDnD(root) { 
    root.find(".tbl_repeat tbody").tableDnD({ 
     onDrop: function(table, row) { 
      var orders = $.tableDnD.serialize(); 
      $.post('mod/order.php', { orders : orders }); 
     } 
    }); 
}; 

$(function() { 
    $(".entry").live("click",function(event) { 
     event.preventDefault(); 
     var id = $(this).attr("id"); 
     var dataString = 'id='+ id ; 
     var parent = $(this).parent(); 
     $.ajax({ 
      url: "save.php",  
      type: "POST",  
      data: dataString,  
      cache: false, 
      success: function (html) { 
       $('#showdata').load('mod/hoofdmenu.php', function() { 
        initDnD($('#showdata')); 
       });   
      }  
     }); 
    }); 
    initDnD($("body")); 
}); 
+0

あなたの迅速な応答をギャズありがとうござい ?。私はあなたのコードを試しました、私はちょうど1つの構文エラー(最後の行、}));) – Jasper

+0

Gaz、 私は2番目のスクリプトを呼び出すと、構文エラーとスクリプト(ドラッグアンドドロップ)公開/非公開)。しかし、インデックスをリフレッシュすると、ドラッグ&ドロップ操作は、最初にパブリッシュ/パブリッシュをクリックしたときにのみ機能します。 – Jasper

+0

構文エラーについては申し訳ありませんが、今修正しました。私はまた、あなたの新しい問題を修正する必要があります、ページの読み込み中にボディのinitDnDを呼び出します。 – Gaz