【问题标题】:Boostrap datepicker. Select current date as default IF not date has loaded引导日期选择器。如果未加载日期,则选择当前日期作为默认日期
【发布时间】:2017-08-17 03:02:49
【问题描述】:

我有一个视图在

的情况下被重用

1) 创建新对象时。 2)当我们更新一些对象的属性时。

这些属性之一是日期

我想知道如何使引导日期选择器工作,以便它可以检查在视图加载时输入字段是否有值,或者如果它为空,则将当前日期设置为默认值。

我现在只有这个(设置当前日期)

    $(function () {
        $('.datepicker').datepicker({
            "setDate": new Date(),
            "autoclose": true
        }).datepicker("setDate", new Date());
    });

</script>

但是,当然,在对象已保存日期的情况下,它会替换日期,并且我想保留该日期,除非用户决定更新它。

提前感谢您的帮助!

【问题讨论】:

    标签: javascript jquery twitter-bootstrap date datepicker


    【解决方案1】:

    也许可以试试……

    $(function () {
        $('.datepicker').datepicker({
            "autoclose": true
        }).filter(function(){
            //filter just the ones that do not have a value
            return ( '01/01/0001' === this.value || ( this.value || '' ).trim().length < 1 )
        }).datepicker("setDate", new Date());
    });
    

    【讨论】:

    • 谢谢,在现有日期的情况下它现在已经被覆盖,但在新日期的情况下,打开日期选择器时它没有设置在当前日期
    • 可能是因为最小日期是 01/01/0001 而不是 null/empty?
    • 是的!加载视图的默认日期是 01/01/0001
    • 试试修改后的答案。
    【解决方案2】:

    试试这个:

    @{ String currentDate = DateTime.Now.ToString("yyyy/MM/dd"); }
    <div class="col-sm-4">
        <div class="form-group">
           @Html.LabelFor(m => m.DATE)
             @if (string.IsNullOrEmpty(Model.DATE))
             {
                @Html.TextBoxFor(m => m.DATE, new { @class = "form-control datepicker", @Value = currentDate })
              }
            else
           {
              @Html.TextBoxFor(m => m.DATE, new { @class = "form-control datepicker"})
            }
          @Html.ValidationMessageFor(m => m.DATE)
      </div>
    </div>
    

    【讨论】:

    • 在 asp.net 上工作
    猜你喜欢
    • 2013-08-22
    • 2017-01-18
    • 1970-01-01
    • 2017-08-11
    • 2013-12-01
    • 2014-12-07
    • 2014-03-19
    • 1970-01-01
    • 2021-03-14
    相关资源
    最近更新 更多