保留jquery-ui datepicker中先前选择的值

时间:2015-11-07 15:52:59

标签: jquery jquery-ui jquery-ui-datepicker

我有一个日期选择器,它显示在自定义按钮单击事件上。然后,在文本框中填充用户选择的日期。默认情况下,datepicker选择过去的日期(-3天)。

问题:

我面临的问题是,在随后的自定义按钮点击后,以前选择的日期不会保留在文本框中。

的Fiddler:

https://jsfiddle.net/99x50s2s/142/

HTML

<br/>
<div class="form-horizontal">
  <div class="form-group">
    <label class="control-label col-xs-3">From Date </label>
       <div class="col-xs-6">
          <div class="input-group">
             <input class="form-control" id="AddDateFromTxt" type="text" maxlength="10">
               <span class="input-group-btn">
                  <button type="button" class="btn btn-default" id="AddDateFromBtn" title="Click here to select 'Add Date From'"><i class="glyphicon glyphicon-calendar"></i></button>
               </span>  
           </div>
         </div>
       </div>
     </div>  

JS

var fromDateCtrl = $('#AddDateFromTxt');

$('#AddDateFromBtn').on('click', function () {
    fromDateCtrl.datepicker().datepicker("setDate", "-3").datepicker("show");        
});

期望

如果我第一次选择11/1/2015,则在下次单击日历按钮时,文本框中的值不应更改为2015年11月4日,并且应与2015年1月11日保持一致。< / p>

1 个答案:

答案 0 :(得分:3)

如果尚未选择/设置一个日期,则仅设置日期。

$('#AddDateFromBtn').on('click', function () {
    var dp = fromDateCtrl.datepicker();

    if (dp.datepicker("getDate") == null) {
        dp.datepicker("setDate", "-3");
    }

    dp.datepicker("show");
});

https://jsfiddle.net/wbuo2z9w/