2016-04-25 13 views
0

私はLaravelアプリケーションのための比較的基本的な通知システムを設定しており、誰かに通知を生成して表示しています。AJAXコールでDIV要素のIDを送信する

通知カウントをクリアする機能を構築し、いくつかのjQueryを使用してこれを管理しています。表示されているすべての通知のIDを取得して、AJAX呼び出しで送信できるようにする必要があります。これにより、データベースに表示されるようにマークすることができます。

非常に基本的なコピー&ペーストとして、私はJSFiddleの機能を作成しました。私のCSSファイルとリソースが不足して、それが原因で、それは動作しないか、フィドルで...かなりそれが私の最後でないよう

を見て、通知がXはのIDをあるnotification-id-Xで始まるidを持っています通知が表示され、data-idという属性が表示されます(これが必要かどうかわかりません)。

var notifications = $('[id^="notification-id-"]'); 

私はちょうど後notificationsオブジェクトをどうするかを把握することはできません。私がnotification-id-で始まるすべてのid秒を検索するには、以下のようなものを使いたいように思える私の検索から

私が見つけたすべてのIDを取得して、AJAX呼び出しで送信して、Laravelアプリケーションがそれらを読み取ることができるようにしました。

答えて

3

notificationsとなったのは、そのセレクタに一致するすべての要素を含むjQueryオブジェクトです。単純にそれらの要素をループしてそのIDを保存する配列を作成します。

var notifications = $('[id^="notification-id-"]').map(function() { 
    return this.id.slice(16); 
}).get(); 

これはあなたの変数notifications内のIDを含む配列を取得します。

AJAXによってそれらを送信するには:

$.ajax({ 
    url: "my_server_script.php", 
    method: "POST" // Or whatever you're using (GET, PUT, etc.) 
    data: notifications // Let jQuery handle packing the data for you 
    success: function(response) { 
     // The data was sent successfully and the server has responded (may have failed server side) 
    }, 
    error: function(xhr, textStatus, errorThrown) { 
     // AJAX (sending data) failed 
    }, 
    complete: function() { 
     // Runs at the end (after success or error) and always runs 
    } 
}); 
+0

感謝を!魅力のように動作します。私はJSと素晴らしいことではありませんし、最終的にそれを解決して嬉しい一日の良い部分のためにこれでされていた:)。 – James

+0

@James問題ありません:) – lerouche

関連する問題