2013-10-05 50 views
1

我有一个由CMS创建的下拉列表,我无法访问源代码。下拉列表提供了一组从1902年到2040年不等的日期。我想删除某个点后的所有日期。我知道我可以使用下面的jQuery来taget具体日期,并删除它们:通过jQuery从下拉列表中删除选项集

$("#field_22_year option[value='2036']").remove(); 

但是,什么是删除一组数字的最有效的方式,说1996年之后的一切吗?

回答

3

George Mavritsakis的答案是合适的。 但你也可以做到这一点:

$('#field_22_year option[value]').each(function() { 
    if($(this).attr("value") > 2036) { $(this).remove(); }; 
}); 
+0

这很好,非常感谢! – Kev

3

使用

$('#field_22_year option[value]').filter(function() { 
    return $(this).attr("value") > 1996; 
}).remove(); 

在这里看到如何在这里使用过滤器:Jquery filter()

1
function remove_date_after(initial_date){ 
     $('#field_22_year').children().each(function(){ 
      if($(this).val() > initial_date) 
        $(this).remove(); 
     }); 
} 

这里初始日期是要删除的下拉选项的值。例如,您可以拨打电话remove_date_after(1996),这将删除所有值大于1996的选项。

相关问题