2016-04-26 10 views
-1

私はその日の下にいくつかのシフトを入力しようとしています。これは19-01年の間うまくいきましたが、19-01のエントリを保存して削除する20-01に入るとしようとしました。Firebaseでアップデートして他のエントリーを削除する

誰もが問題の内容を知っています。なぜ、それが私に1つ以上のツリーを持たせることができないのですか?

//ROSTERS SAVING 
//ROSTERS FOR MONDAYS 
$(function Monday(){ 

    // CREATE A REFERENCE TO FIREBASE 
    var dateMondayRef = new Firebase('https://shiftsapp.firebaseio.com/roster'); 

    // REGISTER DOM ELEMENTS 
    var date1Field = $('#date1Input'); 
    var emp1put1Field = $('#emp1Input1'); 
    var enter1Field = $('#enter1'); 

    // LISTEN FOR KEYPRESS EVENT 
    enter1Field.keypress(function (e) { 
    if (e.keyCode == 13) { 
     //FIELD VALUES 
     var dateMonday = date1Field.val(); 
     var emp1put1 = emp1put1Field.val(); 
     var enter1 = enter1Field.val(); 

     //SAVE DATA TO FIREBASE AND EMPTY FIELD 
     var obj1 = {}; 
     obj1[dateMonday] = { 
     emp1:emp1put1, 
     } 

     dateMondayRef.set(obj1); 
     enter1Field.val(''); 
    } 
    }); 

}); 

$(function Tuesday(){ 

    // CREATE A REFERENCE TO FIREBASE 
    var dateTuesdayRef = new Firebase('https://shiftsapp.firebaseio.com/roster'); 

    // REGISTER DOM ELEMENTS 
    var date2Field = $('#date2Input'); 
    var emp1put2Field = $('#emp1Input2'); 
    var enter2Field = $('#enter2'); 

    // LISTEN FOR KEYPRESS EVENT 
    enter2Field.keypress(function (e) { 
    if (e.keyCode == 13) { 
     //FIELD VALUES 
     var dateTuesday = date2Field.val(); 
     var emp1put2 = emp1put2Field.val(); 
     var enter2 = enter2Field.val(); 

     //SAVE DATA TO FIREBASE AND EMPTY FIELD 
     var obj = {}; 
     obj[dateTuesday] = { 
     emp1:emp1put2 
     } 

     dateTuesdayRef.set(obj); 
     enter2Field.val(''); 
    } 
    }); 

}); 

答えて

2

あなたはFirebaseのsetメソッドの代わりに、(同じFirebaseノードへのごdateMondayRefdateTuesdayRef両方の点)同じREFにupdateを使用するためです。

としてはsetがする

書き込みやデータ言い換えれば

を交換する、あなたは、REFにsetを呼び出すとき、あなたはこの場所に書き込むことがfirebaseを指示する(または、in the docsを説明しましたそこに格納されている可能性のあるデータをすべて引数として渡すオブジェクトに置き換えます)。

あなたはこのREFにupdateを使用するか(それはroster/$dateMondayで存在したが、それはあなたの新しいオブジェクトに含まれていない任意の子キーを保存します)、またはあなたのdateMondayノードへの参照をつかむと、その上のsetを呼び出します。

dateMondayRef.update(obj1) 
dateTuesdayRef.update(obj2) 
// or 
dateMondayRef.child(dateMonday).set({emp1: ...}) 
dateTuesdayRef.child(dateTuesday).set({emp1: ...}) 
+0

どちらもこれらの作業している、データベースがまだ前の1 – kelliehughesspare

+0

を削除し、あなたの 'Monday'と' Tuesday'機能の両方におけるこれらの技術のいずれかを使用していますか?私は私の例をより明示的に編集しました。 – VonD

+0

はい!はい!はい!手伝ってくれてどうもありがとう。 – kelliehughesspare

関連する問題