显示日期的日历格式

时间:2016-10-06 06:31:55

标签: javascript jquery html date

日期脚本

<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 =&#34; date&#34;在输入字段中,它只适用于谷歌浏览器浏览器。

这就是为什么要为我们使用id =&#39; ui-datepicker&#39;定义脚本的所有浏览器显示日历的原因,如果我们使用输入字段,它将是正常输入标记,例如:: &lt;输入类型=&#34;日期&#34; /&gt;

但是对于在javascript函数 {selectPackage()中显示为displayForm3}的输入字段不起作用

1 个答案:

答案 0 :(得分:0)

问题是因为您在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*事件属性现在被认为是过时的。