0

我的 html 我使用

<input runat="server" id="dateid" maxlength="50" size="10" type="date" name="dateid" />

我有一个我正在使用的 jquery 日期选择器,所以第一个问题是在某些浏览器上,例如 google chrome,它提供了自己的日期选择器。我读到不使用输入类型日期,但这种方式简化了我的 jquery 代码以将日历应用于所有日期。因此,我发现modernizr 似乎可以工作,当浏览器支持自己的日历时,它不会显示我的日历。

我正在使用modernizr 2.6.2版

<script type="text/javascript">
        $(function () {
            if (!Modernizr.inputtypes['date']) {
                $('input[type="date"]').datepicker();
            }
        });
    </script>

现在的主要问题是,如果我在单击日期时允许使用谷歌浏览器日历,则它不会应用于我的输入控件。我点击它显示在输入控件中的日期,但是一旦我点击离开它就会回到没有日期。

4

1 回答 1

2

input现代浏览器(如 Chrome)会将日期字段呈现为HTML5 Standart Date Calendar. 将输入类型更改为text并添加一个 data-属性来告诉它它是一个日期选择器:

HTML

<input runat="server" 
 id="dateid" 
 maxlength="50" 
 size="10" 
 type="text" 
 name="dateid" 
 data-datepicker="true"/>

JavaScript

<script type="text/javascript">
    $(function () {
      $('input[data-datepicker="true"]').datepicker();
    });
</script>
于 2013-09-16T20:38:20.793 回答