如何从jQuery中的列表中删除对象
问题描述:
我正在遍历列表,我想在遍历时根据条件删除一个对象,以便在我的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中?
答
尝试:
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
}
});
}
答
//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();
}
});
}
ivascuL感谢您的回复。实际上,这段代码也会从视图模型中移除对象。我想要一个临时解决方案,它会暂时隐藏临时值 – Yash
创建一个临时对象并使用它 – madalinivascu