在jQuery DatePicker中设置一个值,但将关联的文本框保留为空

时间:2016-01-21 09:49:16

标签: jquery datepicker

我有一个绑定到日期选择器的文本框:

<!-- editExamScheduleModal -->
<div class="form-group">
    <label class="col-md-4 control-label" for="textExamDate">Exam Date</label>
    <div class="col-md-4">
        <input id="textExamDate" name="textExamDate" type="text" class="form-control input-md">
    </div>
</div>

此Div显示为弹出窗口,将值分配给文本框的功能如下:

function ShowPopup(examDateToEdit) {
    $('#textExamDate').val(examDateToEdit);
    $('#textExamDate').datepicker({ minDate: 0 });
    $('#editExamScheduleModal').modal('show');

    var expectedExamDate = new Date();
    var numberOfDaysToAdd = 1;
    expectedExamDate.setDate(expectedExamDate.getDate() + numberOfDaysToAdd);
    $('#textExamDate').datepicker("setDate", expectedExamDate);
}

在上面的函数中,我试图设置DatePicker来选择当天的第二天或者在examDateToEdit中传递的任何日期。 如果函数没有任何内容就可以了,日期选择器将默认为当前日期。

发生了两件事:

  1. DatePicker确实显示预期日期
  2. 它还在文本框中输入日期值
  3. 因此,如果今天的日期是2016年1月21日,则会将01/22/2016放在文本框中。

    此文本框中的值是可选的,这意味着用户可以将其留空。 但是在我上面显示的实现中,它会有一个值,当用户点击Save(这里没有显示)时,它们会无意中将值发送回服务器。

    那么我该怎样做才能让#1发生?

    提前致谢。

    问候。

2 个答案:

答案 0 :(得分:0)

这将由以下代码修复

<script>
function ShowPopup(examDateToEdit) {
    if ((typeof examDateToEdit != "undefined") && examDateToEdit!="") {
       $('#editExamScheduleModal').modal('show');
       var numberOfDaysToAdd = 0;
    }
    else {
      var examDateToEdit = new Date();
      var numberOfDaysToAdd = 1;
    }

    examDateToEdit.setDate(examDateToEdit.getDate() + numberOfDaysToAdd);
    $('#textExamDate').datepicker("setDate", examDateToEdit); 
}
</script>

答案 1 :(得分:0)

有一个智能解决方案,我在datepicker函数调用后使用$('#textboxid').val('');会使文本框为空。