如何动态添加日期时间选择器
how to add datetimepicker dynamically?
有没有办法在我的页面上动态添加日期时间选择器?我能够添加表单元素,但是日期选择器功能不起作用。
这是表单布局
截图 1:http://i614.photobucket.com/albums/tt226/civicclubphilippines/1_zpswf7pxjxz.png截图 2:http://s614.photobucket.com/user/civicclubphilippines/media/test/2_zpspzjdb7yb.png.html
网页代码
<div class="modal-footer">
<button type="button" class="btn btn-default add-another"><span class="glyphicon glyphicon-plus"></span> Add another</button>
</div>
JS代码
$(document).ready(function() {
$(".add-another").click(function(){
var assgnee = $('#assigneeInit').html();
var rnd = Math.ceil(Math.random()*1000);
$(".add-another-container").append('<div class="form-group"><hr>'
+' <div class="col-md-4"></div>'
+' <div class="col-md-6">'
+' <input required="" class="form-control" placeholder="Task name" type="text" size="50" name="taskname[new][]" id="taskname" value="">'
+' <div class="help-block with-errors"></div>'
+' </div>'
+' <div class="col-md-4"></div>'
+' <div class="col-md-6">'
+' <textarea required="" class="form-control" placeholder="Task description" name="task-description[new][]" id="task-description" rows="2"></textarea>'
+' <div class="help-block with-errors"></div>'
+' </div>'
+' <div class="col-md-4"></div>'
+' <div class="col-md-6" id="assigneeCol"><select required class="form-control" name="assignee[new][]" id="assigneeInit'+rnd+'">'+assgnee+'</select>'
+' <div class="help-block with-errors"></div>'
+' </div>'
+' <div class="col-md-4"></div>'
+' <div class="col-md-6">'
+' <input placeholder="Due date" class="date-picker-manual datepicker hasDatepicker" type="text" name="due-date[new][]" id="datepicker'+rnd+'"><img class="ui-datepicker-trigger" id="trigger'+rnd+'" src="images/calendar.gif" alt="..." title="...">'
+' </div>'
+' </div>');
$(".datepicker").datepicker({
showOn: "button",
buttonImage: "images/calendar.gif",
buttonImageOnly: true,
onSelect: function(dateText, inst) {
//dateText comes in as MM/DD/YY
var datePieces = dateText.split('/');
var month = datePieces[0];
var day = datePieces[1];
var year = datePieces[2];
//define select option values for
//corresponding element
$('select#month').val(month);
$('select#day').val(day);
$('select#year').val(year);
}
});
});
});
我需要添加动态添加的日期选择器,其中包含来自变量 rnd 的串联 id 值
有没有办法做到这一点?
非常感谢建议和回答。
谢谢!
在这里:
+'<input placeholder="Due date" class="date-picker-manual datepicker" type="text" name="due-date[new][]" id="datepicker'+rnd+'">'
+'<img class="ui-datepicker-trigger" id="trigger'+rnd+'" src="images/calendar.gif" alt="..." title="...">'
您需要从输入控件中删除类hasDatepicker
,追加后可以放置日期选取器初始化代码。
注意:
hasDatepicker
是当你的目标元素是日期选择器时添加的类,但是如果你将这个类添加到你的元素中,那么jQuery/jQueryUI将忽略这个元素,以将其初始化为日期选择器,所以hasDatepicker
不应该添加到元素中。
正如@Jai
已经提到的,您需要删除hasDatepicker
,因为尚未添加日期选择器。 追加后初始化datepicker
。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(document).ready(function() {
$(".add-another").click(function(){
var assgnee = $('#assigneeInit').html();
var rnd = Math.ceil(Math.random()*1000);
$(".add-another-container").append('<div class="form-group"><hr>'
+' <div class="col-md-4"></div>'
+' <div class="col-md-6">'
+' <input required="" class="form-control" placeholder="Task name" type="text" size="50" name="taskname[new][]" id="taskname" value="">'
+' <div class="help-block with-errors"></div>'
+' </div>'
+' <div class="col-md-4"></div>'
+' <div class="col-md-6">'
+' <textarea required="" class="form-control" placeholder="Task description" name="task-description[new][]" id="task-description" rows="2"></textarea>'
+' <div class="help-block with-errors"></div>'
+' </div>'
+' <div class="col-md-4"></div>'
+' <div class="col-md-6" id="assigneeCol"><select required class="form-control" name="assignee[new][]" id="assigneeInit'+rnd+'">'+assgnee+'</select>'
+' <div class="help-block with-errors"></div>'
+' </div>'
+' <div class="col-md-4"></div>'
+' <div class="col-md-6">'
+' <input placeholder="Due date" class="date-picker-manual datepicker" type="text" name="due-date[new][]" id="datepicker'+rnd+'"><img class="ui-datepicker-trigger" id="trigger'+rnd+'" src="images/calendar.gif" alt="..." title="...">'
+' </div>'
+' </div>');
$(".datepicker").datepicker();
});
});
</script>
<div class="add-another-container"></div>
<div class="modal-footer">
<button type="button" class="btn btn-default add-another"><span class="glyphicon glyphicon-plus"></span> Add another</button>
</div>
相关文章:
- 在 php 标题标签中添加日期函数
- 如何添加日期选择器当我单击文本框
- 尝试在工作表中添加日期时间
- 使用jQuery添加日期范围选择器并更新内容
- 添加日期的Javascript;不存在于级数上
- 请帮助我添加日期选择器(Jquery Ui)
- 在日期选择器中添加日期时出现问题
- ISO 8601日期格式-使用javascript添加日期
- Jquery:在IE和FF上具有多个添加日期的日期选择器
- 在Javascript中添加日期
- 这是我的代码,我想添加日期选择器事件,它根据日期给出特定的记录
- 使用Greasemonkey向文本框添加日期选择器
- 如何使用连接操作查询添加日期选择器代码
- JavaScript添加日期函数
- 如何在javascript中添加日期时间
- 如何动态添加日期时间选择器
- 如何使用 jQuery 验证和添加日期
- Base64.js在keyup()时向解码文本添加日期/时间或字符串
- 更改事件添加日期时的内容可编辑字段
- 如何在mobile.form.Form或mobile.dialog.Dialog中添加日期字段