OK、ここに何かが欠けていて、ロジックが正しいように見えるので見つけられないようですが、エラーが表示されていないことは確かです。
var VisibleMarkers = function() {
var filtered = _.reject(Gmaps.map.markers, function(marker) {
return marker.grade != $('.mapDataGrade').val() && !_.contains(marker.subjects,$('.mapDataSubjects').val())
});
return filtered
}
javascript の作業を簡素化するために、underscore.js と jQuery を使用しています。
だから今、私は拒否されるデータを選択してチェックしてから、フィルタリングされたマーカーを(Google)マップに表示します(それがまったく役立つ場合、これは完全に正常に機能しているgmaps4railsを使用しています、これは頭の最後の髪の毛を失う原因となっているJavaScriptのビット)。
現在、コードは「.mapDataGrade」選択に対して 100% 正しく機能しますが、「.mapDataSubjects」はそうではありません。これで、markers オブジェクトには科目の json 配列があり (これは学生用です)、配列内の各項目には ID があります。私がチェックすることになっているのはこのIDです。
誰かが私が間違っていることを見ることができますか?
含める必要がある情報がさらにある場合は、お知らせください。
これは、gmaps4rails を使用した RoR アプリケーションのプレーンな JavaScript です。