【问题标题】:Retain previously selected value in jquery-ui datepicker在 jquery-ui datepicker 中保留先前选择的值
【发布时间】:2015-11-07 15:52:59
【问题描述】:

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

问题:

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

提琴手:

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");        
});

期待

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

【问题讨论】:

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


    【解决方案1】:

    仅在尚未选择/设置日期时设置日期。

    $('#AddDateFromBtn').on('click', function () {
        var dp = fromDateCtrl.datepicker();
    
        if (dp.datepicker("getDate") == null) {
            dp.datepicker("setDate", "-3");
        }
    
        dp.datepicker("show");
    });
    

    https://jsfiddle.net/wbuo2z9w/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-07
      • 2013-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多