如何使用jquery禁用低于某个值的下拉选项

sam*_*shi 2 javascript jquery

下面我有一年的下拉菜单.

<select name="from_year" class="col-md-4 form-control" id="from_year">
    <option value="0">Select Year</option>
    <option value="2010">2010</option>
    <option value="2011">2011</option>
    <option value="2012">2012</option>
    <option value="2013">2013</option>
    <option value="2014">2014</option>
    <option selected="selected" value="2015">2015</option>
    <option value="2016">2016</option>
    <option value="2017">2017</option>
    <option value="2018">2018</option>
    <option value="2019">2019</option>
    <option value="2020">2020</option>
</select>
Run Code Online (Sandbox Code Playgroud)

现在从ajax电话我得到一年说2016年.现在我想禁用低于2016年的所有选项.我试过以下:

$('select#from_year option:lt('+payment_date[1]+')').prop("disabled", true);
Run Code Online (Sandbox Code Playgroud)

...在哪里payment_date[1] = 2016,但无济于事.

难道我做错了什么.欢迎任何帮助/建议.

Ror*_*san 8

你可以filter()用来实现这个目标:

var year = 2016; // from AJAX...
$('#from_year option').filter(function() {
    return $(this).val() < year;
}).prop('disabled', true);
Run Code Online (Sandbox Code Playgroud)

示例小提琴