讓我們承認我們有兩個選擇
<select id=first>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<select id=second>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
我希望第二個選擇不應該提供比第一個選擇中選擇的值更大的值,所以如果例如在我選擇的第一個選擇中,3那么第二個選擇應該提供
<select id=second>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
所以我是這樣的:
$(#first).on('change', function() {
var min = $(#first).val();
for (let i = 1; i <= min; i ) {
$(#second).append('<option value=' i '>' i '</option>');
}
});
但這會附加選項。我想替換選項。
uj5u.com熱心網友回復:
您可以<option>先使用洗掉所有標簽.empty(),然后<option>通過回圈附加新標簽:
$('#first').on('change', function() {
$('#second').empty();
var min = $('#first').val();
for (let i = 1; i <= min; i ) {
$('#second').append('<option value=' i '>' i '</option>');
}
});
uj5u.com熱心網友回復:
存盤一組選項并過濾該組以替換現有的不同方法
const $storedOpts = $('#second option').clone()
$('#first').change(function(){
const $opts = $storedOpts .clone().filter((i,el) => el.value <= this.value)
$('#second').html($opts);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id=first>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<select id=second>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/401528.html
標籤:javascript 阿贾克斯
