javascript中if/else方法中的逻辑

javascript中if/else方法中的逻辑,javascript,if-statement,Javascript,If Statement,我只想在我的应用程序中实现if-else方法 问题是当在中选择第一个时,如果它工作,但如果我选择第二个,如果它不工作,这是我的代码 //filter in session filterMarkersx = function (session) { var table = $('#edcTable').DataTable().column(1).column(2); var str; $("select#type option:selec

我只想在我的应用程序中实现if-else方法 问题是当在中选择第一个时,如果它工作,但如果我选择第二个,如果它不工作,这是我的代码

  //filter in session
   filterMarkersx = function (session) {

      var table = $('#edcTable').DataTable().column(1).column(2); 


     var str;


        $("select#type option:selected" ).each(function() {
            str = $(this).val();
        }); 


       for (i = 0; i < gmarkers1.length; i++) {
           marker = gmarkers1[i];
            if(marker.session == session || session.length === 0) {
                   marker.setVisible(true); 
           } else if(marker.session == session || session.length === 0) {
               if (marker.category == str || $("#type").length === 0){
                   marker.setVisible(true); 
               }
           }else{
               marker.setVisible(false);
               infowindow.close(map, marker1);
           }
       }


       table.search(str).draw();

   }  
//会话中的筛选器
filterMarkersx=函数(会话){
var table=$('#edcTable').DataTable().column(1)和column(2);
var-str;
$(“选择#类型选项:选定”)。每个(函数(){
str=$(this.val();
}); 
对于(i=0;i
任何人都可以帮助我,我必须做什么,提前谢谢


-kraken.

您的
if
else if
条件完全相同。
else if
块永远无法执行,因为如果它的条件为true,那么第一个
if
为true,因此它的
else
甚至不会被查看。

if(marker.session==session | session.length==0){
if(marker.session==session | session.length==0)相同{
因此第二个块永远不会执行