2015-11-05 41 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(); 
     } 

    }); 
}