Bootstrap 日期选择器无法更改结束日期

Bootstrap Datepicker unable to change endDates

我得到名称为“Type”且值为“Standard”和“”的单选按钮审判”。然后我还有一个文本框,其中 id 是“datepicker”。 因此,当我单击标准按钮时,日期选择器的结束日期假设为 3 天 ,而当我单击试用按钮时,日期选择器的结束日期假设为 1 天.

我现在的问题是,当我选中带有“标准”值的单选按钮时,结束日期变为3 天。但是,当我选中带有“试用”值的单选按钮时,结束日期仍然是3 天。否则,当我首先检查“Trial”时,该值将变为 1 天,当检查“Standard" endDate 的结果将相同,即 1 天

我已经尝试了 $(".datepicker").datepicker("refresh");$(".datepicker").datepicker("destroy");,但似乎不起作用。

    <script type="text/javascript" src="~/Scripts/jquery-2.0.2.js"></script>
    <link rel="stylesheet" type="text/css" href="~/Content/datepicker.min.css">
    <script type="text/javascript" src="~/Scripts/bootstrap-datepicker.js"></script>
    <script type="text/javascript" src="~/Scripts/bootstrap.min.js"></script>
    <link rel="stylesheet" type="text/css" href="~/Content/bootstrap.min.css">

    <script type="text/javascript">
        $(window).load(function () {
            $('.datepicker').val('dd/mm/yyyy');
            dateExpiry();
        });
        $("input[name='Type']").change(function () {
            $('.datepicker').val('dd/mm/yyyy');
            dateExpiry();
        });

        function dateExpiry() {
            var type = $("input[name='Type']:checked").val();
            if (type == 'Trial') {
                $('.datepicker').datepicker({
                    format: 'dd/mm/yyyy',
                    startDate: '-0d',
                    endDate: '+1d',
                    autoclose: true
                });
            }
            else if (type == 'Standard') {
                $('.datepicker').datepicker({
                    format: 'dd/mm/yyyy',
                    startDate: '-0d',
                    endDate: '+3d',
                    autoclose: true
                });
            }
        };
    </script>

不要创建新的日期选择器。使用 setEndDate 方法设置结束日期值。

$('.datepicker').datepicker({
  format: 'dd/mm/yyyy',
  startDate: '-0d',
  endDate: '+1d',
  autoclose: true
});
ChangeRange();
$("input[name='Type']").change(ChangeRange);
function ChangeRange() {
  if ($("input[name='Type']:checked").val()=="Standard") {
    $('.datepicker').datepicker('setEndDate', '+3d');
  }
  else if ($("input[name='Type']:checked").val()=="Trial") {
    $('.datepicker').datepicker('setEndDate', '+1d');
  }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.0/css/bootstrap-datepicker.min.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.0/js/bootstrap-datepicker.min.js"></script>

<div class="checkbox">
  <label>
    <input type="radio" name="Type" value="Standard">
    Standard
  </label>
</div>
<div class="checkbox">
  <label>
    <input type="radio" name="Type" value="Trial" checked="checked">
    Trial
  </label>
</div>
<div class="input-group">
  <input type="text" class="form-control datepicker" value="21/06/2017">
  <div class="input-group-addon">
    <span class="glyphicon glyphicon-th"></span>
  </div>
</div>