2017-03-24 4 views
0

を持って一日に別のイベントを許可するようになっている:がeventOverlapはここでは、コードです別のタグ

eventOverlap: function(stillEvent, movingEvent) { 
 
     console.log("I am overlapping something"); 
 
      if (stillEvent.tags == ""|| movingEvent.tags == "") { 
 
         console.log("One of the events have no tag"); 
 
         return true; 
 
      } else { 
 
       console.log("SE = " + stillEvent.tags + " ME = " + movingEvent.tags); 
 
       $.each(stillEvent.tags.split(','), function(key, value) { 
 
        var index = $.inArray(value, movingEvent.tags.split(',')); 
 
        var result = ""; 
 
        if(index == -1) { 
 
         console.log("Found no similar tags"); 
 
         result =true; 
 
        } else { 
 
         console.log("Similar tags at index:"+index); 
 
         result =false; 
 
        } 
 
        return result; 
 
       }); 
 
      } 
 
    }

私が何をしようとしているが、私は上記のイベントをドラッグすると、あります別の日にはイベントも含まれています。この関数は、それらのタグ文字列を(分割することによって)比較し、それぞれを個別に調べます。

イベントの一方または両方にタグがない場合は、その日に許可されます。 これ以外の場合は、要素ごとに比較されるものとします。 X = ["1"、 "2"、 "3"]、Y = ["3"、 "4"、 "5"] 3したがって、falseを返す必要があります。しかし、X = ["1"]やY = ["2"]のような類似の要素が見つからない場合はtrueを返します。 FalseはeventOverlapを無効にし、そうでない場合はtrueを返します。

私はコンソールで確認しました。ここで起こっているのは、類似のタグがないことがわかっていても、eventOverlapはまだ有効になっていないということです。他のイベントにタグがない場合のみ。

私のロジック上の欠陥かもしれませんか?ありがとう!

+0

コードを実行すると構文エラーが発生しました – LakiGeri

答えて

0

このようなものはどうですか?

... 
eventOverlap: function(stillEvent, movingEvent) { 
     if (stillEvent.tags == ""|| movingEvent.tags == "") { 
        console.log("One of the events have no tag"); 
        return true; 
     } else { 
     for (i = 0; i<stillEvents.tags.length; i++){ 
       for(j = 0;j<movingEvent.tags.length,j++) { 
        if (movingEvent.tags[j] == stillEvents.tags[i]){ 
         return false; 
        } 
       } 
      } 
     return true; 
     } 
} 
... 
+0

ありがとうございました!魅力のように働く – Mugen

関連する問題