在jQuery日期选择器中选择星期六时,隐藏选择字段中的特定选项

时间:2017-08-09 20:32:59

标签: jquery datepicker

我有两个表单字段,一个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();
        }

    }
});

1 个答案:

答案 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;
&#13;
&#13;