2015-11-05 81 views
0

我正在遍历列表,我想在遍历时根据条件删除一个对象,以便在我的cshtml页面下不显示对象信息。也就是说,如果我的月末值比isValidActivityPosition小于我不想显示的用户界面,元素值:如何从jQuery中的列表中删除对象

下面是我想做的事:**

的.js

//the "priorityObj.UpcomingActivities" has two objects under it [0] and [1] 
if (priorityObj.UpcomingActivities() != "") { 
    $.each(priorityObj.UpcomingActivities(), function (i, v) { 
     monthPosition = v.ActivityDateToDisplay().split(',')[0].substring(0, 3).trim();   

     var isValidActivityPosition = jQuery.inArray(monthPosition, priorityMonth); 
     //if the variable isValidActivityPosition is greater than endMonth 
     //than remove the object which is currently traversed upon in the $.each 
     if (isValidActivityPosition > endMonth) { 
      v.remove(); 
     } 

    }); 
} 

CSHTML页

<div data-bind="foreach:UpcomingActivities()"> 
      <div class="priority-icon"> 

我不知道我应该写什么来代替v.remove以便当前元素被删除并且不应该显示在UI中?

回答

0

尝试:

temp = priorityObj.UpcomingActivities();//create temporar object 
if (priorityObj.UpcomingActivities() != "") { 
    $.each(priorityObj.UpcomingActivities(), function (i, v) { 
     monthPosition = v.ActivityDateToDisplay().split(',')[0].substring(0, 3).trim();   

     var isValidActivityPosition = jQuery.inArray(monthPosition, priorityMonth); 
     //if the variable isValidActivityPosition is greater than endMonth 
     //than remove the object which is currently traversed upon in the $.each 
     if (isValidActivityPosition > endMonth) { 
      temp.splice(i,1);//remove data from it 
     } 

    }); 
} 
+0

ivascuL感谢您的回复。实际上,这段代码也会从视图模型中移除对象。我想要一个临时解决方案,它会暂时隐藏临时值 – Yash

+0

创建一个临时对象并使用它 – madalinivascu

0
//the "priorityObj.UpcomingActivities" has two objects under it [0] and [1] 
if (priorityObj.UpcomingActivities() != "") { 
    $.each(priorityObj.UpcomingActivities(), function (i, v) { 
     monthPosition = v.ActivityDateToDisplay().split(',')[0].substring(0, 3).trim();   

     var isValidActivityPosition = jQuery.inArray(monthPosition, priorityMonth); 
     //if the variable isValidActivityPosition is greater than endMonth 
     //than remove the object which is currently traversed upon in the $.each 
     if (isValidActivityPosition > endMonth) { 
      $(this).remove(); 
     } 

    }); 
}