1

我有一个由我无法访问其源代码的 CMS 创建的下拉列表。下拉列表提供了一组从 1902 年到 2040 年的日期。我想删除某个点之后的所有日期。我知道我可以使用以下 jQuery 标记特定日期并删除它们:

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

但是,删除一组数字的最有效方法是什么,比如说 1996 年之后的所有内容?

4

3 回答 3

3

George Mavritsakis 的回答是恰当的。但你也可以这样做:

$('#field_22_year option[value]').each(function() {
    if( $(this).attr("value") > 2036 ) { $(this).remove(); };
});
于 2013-10-05T10:38:03.953 回答
3

利用

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

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

于 2013-10-05T10:23:47.257 回答
1
function remove_date_after(initial_date){
       $('#field_22_year').children().each(function(){
            if($(this).val() > initial_date)
                   $(this).remove();
       });
}

这里的初始日期是您要从中删除下拉选项的值。例如,您可以调用 as remove_date_after(1996),这将删除所有值大于 1996 的选项

于 2013-10-05T10:24:16.993 回答