【问题标题】:Display calendar format for date显示日期的日历格式
【发布时间】:2016-10-06 06:31:55
【问题描述】:

日期脚本

<link href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://code.jquery.com/jquery-1.9.0.js"></script>
<script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>

<script type="text/javascript">
 $(document).ready(function () {
     $('#ui-datepicker').datepicker();
 });
</script>

查看

<form method="post" action="">
  <select class='form-control' name='route_to' id='member' onchange='selectPackage()'>
    <option value='packageSelect'>SELECT PACKAGE OPTION ....</option>
    <option value='manakamanaPackage'>Mana</option>
   </select>

   <div id="displayForm3">
   </div>

<script type="text/javascript">

    function selectPackage() {

    if (document.getElementById("member").value == "manakamanaPackage") {
        document.getElementById("displayForm3").innerHTML = "<input type='text' id='ui-datepicker' class='form-control' />";
    }

    }
</script>

说明

如果我们在输入字段中使用 type="date" 则它仅适用于 google chrome 浏览器。

这就是为什么要为我们定义脚本的所有浏览器显示日历 id='ui-datepicker' ,如果我们将输入字段用于普通输入标签 (例如 :: .

但它不适用于显示在 javascript 函数中的输入字段 {selectPackage() as displayForm3}

【问题讨论】:

    标签: javascript jquery html date


    【解决方案1】:

    问题是因为您在 DOM 加载后附加元素。您需要在创建新元素后立即在新元素上实例化 datepicker 库。试试这个:

    <form method="post" action="">
        <select class="form-control" name="route_to" id="member">
            <option value="packageSelect">SELECT PACKAGE OPTION ....</option>
            <option value="manakamanaPackage">Mana</option>
        </select>
    
        <div id="displayForm3"></div>
    </form>
    
    <script type="text/javascript">
        $(function() {
            $('#member').change(function() {
                if (this.value == 'manakamanaPackage') {
                    $('#displayForm3').html('<input type="text" id="ui-datepicker" class="form-control" />');
                    $('#ui-datepicker').datepicker();
                }
            });
        });
    </script>
    

    请注意,我还修改了您的代码以使用不显眼的事件处理程序,因为 on* 事件属性现在被认为已过时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 2016-10-08
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 2011-12-20
      • 2020-05-25
      相关资源
      最近更新 更多