日期脚本
<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}的输入字段不起作用
答案 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*
事件属性现在被认为是过时的。