如何隐藏下拉列表中除最大值以外的所有选项?

How can I hide all options in a dropdown list except the max value?

我为在线杂志构建了一个内容提交表单,其中有一个下拉列表,其中预先填充了一个增量值列表,对应于杂志的"issues"(第 1 期、第 2 期、等),以及每个选项自动递增的选项值。

<select name="input_7" id="input_23_7" class="large gfield_select" tabindex="2" aria-required="true" aria-invalid="false">
<option value="">-- select a Issue --</option>
<option value="351">Issue 1</option>
<option value="370">Issue 2</option>
</select>

在上面的示例中,我想 hide/remove 问题 2 之前的所有内容。展望未来,理想的解决方案是隐藏 current/latest 问题之前的所有内容 - 不知何故只显示最大值在该下拉列表中,以便用户在提交内容时只能选择一个选项(最新一期)。

因为它是从现有的值列表中预先填充的,所以不能手动覆盖它,所以我正在寻找一种方法,最好通过 JQuery,只显示最新的可用选项.

作为一个临时的解决方法,虽然杂志还很新,所以几乎没有可用的选项,但我已经通过 jQuery 从每个选项中提取了文本,并将其作为 class 添加到各自的选项,使我能够通过 CSS 隐藏它,或通过 jQuery 的 remove() 函数来定位它,如下所示。

(function($){
    $('#input_23_7 option').each(function(){
        var theText = $(this).html();
        var cleanText = theText.replace(/ /g, "_");
        $(this).addClass(cleanText);
    });

    $('#input_23_7 option.Issue_1').remove();

})(jQuery);

这在短期内效果很好,但我每次都需要手动添加要删除的每个问题,并且随着它变得越来越大,从长远来看,这将成为一个不切实际的解决方案。

我确信还有更多 eloquent 解决方案,但这超出了我有限的专业知识范围。任何帮助将不胜感激。

我认为这样的事情应该可以解决您的问题。

$('#input_23_7').find('option').not(':last').remove();    

这应该删除除最后一个选项之外的所有内容。