如何使用Jquery动态生成Calendar控件? [英] How to Dynamically generate Calendar Control using Jquery?
本文介绍了如何使用Jquery动态生成Calendar控件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我与动态按钮点击使用Jquery生成行。
FIDDLE: http://jsfiddle.net/a4NSm/2/一>
现在的问题是,我想的DatePicker添加到它,但我不能,因为它与ID而不是类。
code:
<脚本SRC =JS / jQuery的-1.11.0.js类型=文/ JavaScript的>< / SCRIPT>
<链接rel =stylesheet属性HREF =// code.jquery.com / UI / 1.10.4 /主题/平滑度/ jQuery的-ui.css>
<链接类型=文/ CSS的href =../ demoengine / demoengine.css的rel =stylesheet属性>
<脚本类型=文/ JavaScript的SRC =../ demoengine / demoengine.js异步推迟>< / SCRIPT>
<标题> jQuery UI的日期选择器:解析与格式日期< /标题>
<链接类型=文/ CSS的href =http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/themes/ui-darkness/jquery-ui.css的rel =stylesheet属性>
<脚本类型=文/ JavaScript的SRC =http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js>< / SCRIPT>
<链接rel =stylesheet属性HREF =/资源/演示/ style.css文件> <脚本>
$(函数(){
$(日期选择器)。日期选择器({
DATEFORMAT:DD-MM-YY,
ONSELECT:功能(dateText,研究所){
VAR日期= $ .datepicker.parseDate(inst.settings.dateFormat || $ .datepicker._defaults.dateFormat,dateText,inst.settings);
VAR dateText1 = $ .datepicker.formatDate(D,D M YY,日期,inst.settings);
date.setDate(date.getDate()+ 7);
VAR dateText2 = $ .datepicker.formatDate(D,D M YY,日期,inst.settings);
$(#dateoutput)HTML(被选中的日期为< B>中。+ dateText1 +< / B&GT ;;所选日期+7天产生< B>中+ dateText2 +< / B>中);
}
});
});
< / SCRIPT><表ID =场>
<&TBODY GT;
&所述; TR>
< TD>交叉信息<跨度类='民'> 1 LT; / SPAN>< / TD>
< TD><输入类型=文本/>< / TD>
< TD><选择类=myDropDownLisTId> <输入类型=文本ID =日期选择器类=日期选择/>< /选择>< / TD>
< / TR>
< / TBODY>
< /表>
<按钮式=按钮ID =激活addField>添加场及LT; /按钮>
<按钮式=按钮ID =deleteField>删除字段< /按钮>
JS
<脚本类型=文/ JavaScript的>
$(文件)。就绪(函数(){
filldd(); VAR rowstring =< TR>< TD类='号'>交叉信息< / TD>< TD><输入类型='文字'/>< / TD>< TD><选择类='myDropDownLisTId/><输入类型=文本类='日期选择/>< / TD>< / TR>中;
$(#激活addField)。点击(函数(事件){
$(#领域TBODY)追加(rowstring);
filldd();
如果($(TD)。hasClass(数字)){
VAR我= parseInt函数(民数记:最后一个。$()文字())+ 1;
$($(&下;跨度类='民'>中+ I +&下; /跨度>中))。appendTo($(。数))接近的(TD)removeClass移除('。数');
}
。事件preventDefault();
}); $(#deleteField)。点击(函数(事件){
。VAR lengthRow = $(#领域TBODY TR)的长度;
如果(lengthRow→1)
$(#领域TBODY TR:最后一个),删除();
。事件preventDefault();
});
}); 功能filldd(){
VAR数据= [
{ID:'0',名称:测试0},
{ID:1,名称:'测试1'},
{ID:'2',名称:测试2},
{ID:'3',名称:测试3},
{ID:'4',名称:测试4},
]; 对于(i = 0; I< data.length;我++){
$(。myDropDownLisTId)。最后的()。追加(
$('<选项/>',{
'值':数据[I] .ID,
'名':数据[I] .name和
文本:数据[我]。名称
})
);
}
} < / SCRIPT>
解决方案
请试试这个
HTML
<表ID =场>
<&TBODY GT;
&所述; TR>
< TD>交叉信息<跨度类='民'> 1 LT; / SPAN>< / TD>
< TD><输入类型=文本/>< / TD>
< TD><选择类=myDropDownLisTId> <输入类型=文本级=日期选择/>< /选择>< / TD>
< / TR>
< / TBODY>
< /表>
<按钮式=按钮ID =激活addField>添加场及LT; /按钮>
<按钮式=按钮ID =deleteField>删除字段< /按钮>
的jQuery
$(文件)。就绪(函数(){
filldd();
CreateDP();
VAR rowstring =< TR>< TD类='号'>交叉信息< / TD>< TD><输入类型='文字'/>< / TD>< TD><选择类='myDropDownLisTId/><输入类型=文本类='日期选择/>< / TD>< / TR>中;
$(#激活addField)。点击(函数(事件){
$(#领域TBODY)追加(rowstring);
filldd();
CreateDP();
如果($(TD)。hasClass(数字)){
VAR我= parseInt函数(民数记:最后一个。$()文字())+ 1;
$($(&下;跨度类='民'>中+ I +&下; /跨度>中))。appendTo($(。数))接近的(TD)removeClass移除('。数');
}
。事件preventDefault();
}); $(#deleteField)。点击(函数(事件){
。VAR lengthRow = $(#领域TBODY TR)的长度;
如果(lengthRow→1)
$(#领域TBODY TR:最后一个),删除();
。事件preventDefault();
});
}); 功能filldd(){
VAR数据= [
{ID:'0',名称:测试0},
{ID:1,名称:'测试1'},
{ID:'2',名称:测试2},
{ID:'3',名称:测试3},
{ID:'4',名称:测试4},
]; 对于(i = 0; I< data.length;我++){
$(。myDropDownLisTId)。最后的()。追加(
$('<选项/>',{
'值':数据[I] .ID,
'名':数据[I] .name和
文本:数据[我]。名称
})
);
}
} 功能CreateDP(){
$(日期选择器),最后一个()日期选择器()。
}
I am generating rows with dynamically on button click using Jquery.
FIDDLE: http://jsfiddle.net/a4NSm/2/
The problem now is that I want to add DatePicker to it but I cant because it works with id and not with class.
code:
<script src="js/jquery-1.11.0.js" type="text/javascript"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<link type="text/css" href="../demoengine/demoengine.css" rel="stylesheet">
<script type="text/javascript" src="../demoengine/demoengine.js" async defer></script>
<title>jQuery UI Datepicker: Parse and Format Dates</title>
<link type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/themes/ui-darkness/jquery-ui.css" rel="stylesheet">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function () {
$(".datepicker").datepicker({
dateFormat: "dd-mm-yy",
onSelect: function (dateText, inst) {
var date = $.datepicker.parseDate(inst.settings.dateFormat || $.datepicker._defaults.dateFormat, dateText, inst.settings);
var dateText1 = $.datepicker.formatDate("D, d M yy", date, inst.settings);
date.setDate(date.getDate() + 7);
var dateText2 = $.datepicker.formatDate("D, d M yy", date, inst.settings);
$("#dateoutput").html("Chosen date is <b>" + dateText1 + "</b>; chosen date + 7 days yields <b>" + dateText2 + "</b>");
}
});
});
</script>
<table id="field">
<tbody>
<tr>
<td>Alternatif <span class='num'>1</span></td>
<td><input type="text" /></td>
<td><select class="myDropDownLisTId"> <input type="text" id="datepicker" class="datepicker" /></select></td>
</tr>
</tbody>
</table>
<button type="button" id="addField">Add Field</button>
<button type="button" id="deleteField">Delete Field</button>
JS
<script type="text/javascript">
$(document).ready(function () {
filldd();
var rowstring = "<tr><td class='number'>Alternatif</td><td><input type='text'/></td><td><select class='myDropDownLisTId'/><input type='text' class='datepicker'/></td></tr>";
$("#addField").click(function (event) {
$("#field tbody").append(rowstring);
filldd();
if ($("td").hasClass("number")) {
var i = parseInt($(".num:last").text()) + 1;
$($("<span class='num'> " + i + " </span>")).appendTo($(".number")).closest("td").removeClass('number');
}
event.preventDefault();
});
$("#deleteField").click(function (event) {
var lengthRow = $("#field tbody tr").length;
if (lengthRow > 1)
$("#field tbody tr:last").remove();
event.preventDefault();
});
});
function filldd() {
var data = [
{ id: '0', name: 'test 0' },
{ id: '1', name: 'test 1' },
{ id: '2', name: 'test 2' },
{ id: '3', name: 'test 3' },
{ id: '4', name: 'test 4' },
];
for (i = 0; i < data.length; i++) {
$(".myDropDownLisTId").last().append(
$('<option />', {
'value': data[i].id,
'name': data[i].name,
'text': data[i].name
})
);
}
}
</script>
解决方案
Please try this
HTML
<table id="field">
<tbody>
<tr>
<td>Alternatif <span class='num'>1</span></td>
<td><input type="text" /></td>
<td><select class="myDropDownLisTId"> <input type="text" class="datepicker" /></select></td>
</tr>
</tbody>
</table>
<button type="button" id="addField">Add Field</button>
<button type="button" id="deleteField">Delete Field</button>
jQuery
$(document).ready(function () {
filldd();
CreateDP();
var rowstring = "<tr><td class='number'>Alternatif</td><td><input type='text'/></td><td><select class='myDropDownLisTId'/><input type='text' class='datepicker'/></td></tr>";
$("#addField").click(function (event) {
$("#field tbody").append(rowstring);
filldd();
CreateDP();
if ($("td").hasClass("number")) {
var i = parseInt($(".num:last").text()) + 1;
$($("<span class='num'> " + i + " </span>")).appendTo($(".number")).closest("td").removeClass('number');
}
event.preventDefault();
});
$("#deleteField").click(function (event) {
var lengthRow = $("#field tbody tr").length;
if (lengthRow > 1)
$("#field tbody tr:last").remove();
event.preventDefault();
});
});
function filldd(){
var data = [
{ id: '0', name: 'test 0' },
{ id: '1', name: 'test 1' },
{ id: '2', name: 'test 2' },
{ id: '3', name: 'test 3' },
{ id: '4', name: 'test 4' },
];
for (i = 0; i < data.length; i++) {
$(".myDropDownLisTId").last().append(
$('<option />', {
'value': data[i].id,
'name': data[i].name,
'text': data[i].name
})
);
}
}
function CreateDP(){
$(".datepicker").last().datepicker();
}
这篇关于如何使用Jquery动态生成Calendar控件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文