我有两个表单字段,一个jQuery日期选择器和一个包含10个选项的选择字段。当在datepicker中选择星期六时,我希望选项1和8隐藏在选择字段中。
到目前为止,这是我所拥有的,但它无效。
$('.my-datepicker').datepicker( {
onSelect: function(date) {
var day = new Date(date).getDay();
console.log("Selected weekday " + day);
if (day == 6) {
$('#pickup_time > option[value="1"]').hide();
$('#pickup_time > option[value="8"]').hide();
}
}
});
答案 0 :(得分:0)
您的代码对我来说运行正常。我创建了一个功能代码段。我添加了几行。一个用于删除所选值(包括之前选择的一个隐藏)和一个else
,以便在选择星期六以外的其他日期时恢复所有选项。
$('.my-datepicker').datepicker( {
onSelect: function(date) {
var day = new Date(date).getDay();
console.log("Selected weekday " + day);
if (day == 6) {
$('#pickup_time > option[value="1"]').hide();
$('#pickup_time > option[value="8"]').hide();
$('#pickup_time').val(-1);
}else{
$('#pickup_time > option:not(:visible)').show();
}
}
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script
src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"
integrity="sha256-eGE6blurk5sHj+rmkfsGYeKyZx3M4bG+ZlFyA7Kns7E="
crossorigin="anonymous"></script>
<input type='text' class='my-datepicker' />
<select id='pickup_time'>
<option value='1'>test 1</option>
<option value='3'>test 3</option>
<option value='8'>test 8</option>
</select>
&#13;