jQuery:删除大于和小于的选项

时间:2016-08-19 08:54:00

标签: javascript jquery

在我的代码中,我正在检查用户学位是否完整,

  • 如果它是完整的(即单选按钮值为true)我想从学位完成年份下拉列表中删除大于2016的所有选项。
  • 如果学位未完成,我想删除少于2016年(但不是-1)的所有选项。

这是我到目前为止所尝试的,

$("input:radio[name=isDegreeComplete]").change(function() {

      var isDegreeCompleted = $('input:radio[name=isDegreeComplete]:checked').val();

      if (isDegreeCompleted == 'true') {
       $('#yearOfQualifyingDegree option:gt(2016)').remove();
      } 
      else 
      {
        $('#yearOfQualifyingDegree option[value<2016 && value>-1]').remove();
      }
}); 

我试过了,

 $('#yearOfQualifyingDegree option[value>2016]').remove();

但这也没有奏效。 那么什么都没有了?

PS:我正在使用 JQuery1.11.0

1 个答案:

答案 0 :(得分:3)

您使用的选择器都不是所需的元素。您需要在此处使用.filter()函数:

 $('#yearOfQualifyingDegree option').filter(function(){
   return parseInt(this.value,10) > 2016;
 }).remove();