【发布时间】:2019-06-13 05:52:01
【问题描述】:
我有这两个<select>s:
<select class="js-select-1">
<option disabled>Start date</option>
<option>08AM</option>
<option>09AM</option>
<option>10AM</option>
<option>11AM</option>
<option>12AM</option>
</select>
<select class="js-select-2">
<option disabled>End date</option>
</select>
我需要一个 javascript/jquery 脚本,当我从选择 1 中选择一个选项时,它会使用它被选择的选项旁边的选项填充第二个选择。
示例:我从选择 1 中选择 10AM,场景应该变成:
<select class="js-select-1">
<option disabled>Start date</option>
<option>08AM</option>
<option>09AM</option>
<option>10AM</option>
<option>11AM</option>
<option>12AM</option>
</select>
<select class="js-select-2">
<option disabled>End date</option>
<option>11AM</option>
<option>12AM</option>
</select>
我尝试使用此脚本但不起作用:
$(document).on('change', '.js-select-1', function(e) {
e.preventDefault();
var optionSelectedIndex = $(".js-select-1").prop('selectedIndex');
var options = $('.js-select-1').find("option");
//var optionsArr = options.slice();
var optionsArr = $.extend(true, [], options);
optionsArr.slice(0, optionSelectedIndex + 1).remove();
$('.js-select-2').html(optionsArr);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="js-select-1">
<option disabled>Start date</option>
<option>08AM</option>
<option>09AM</option>
<option>10AM</option>
<option>11AM</option>
<option>12AM</option>
</select>
<select class="js-select-2">
<option disabled>End date</option>
</select>
它从选择 1 中删除所有选项,并使用选择 1 的所有初始选项填充选择 2。 我哪里错了?
【问题讨论】:
-
StackOverflow 不是免费的编码服务。所以希望你try to solve your own problem first。请更新您的问题以在minimal reproducible example 中显示您已经尝试过的内容。如需更多信息,请参阅How to Ask,并拨打tour :)
-
同意@Barmar - 你试过什么?你被困在哪里了?
-
@KevinFriedheim 我在第一篇文章中添加了我正在处理的 javascript
标签: javascript jquery html arrays select