我已经克隆并使用jquery将日期字段添加到表单中。我通过单击一个调用clone方法克隆前一个字段行的add按钮来完成此操作。然后,我重命名克隆行的各个输入。 我只允许使用coldfusion datefield,即使我已经能够重命名组成该字段的不同元素的id,它仍然不会触发日历。我认为下一步将是我手动编写日期字段的功能,但我不想走这条路。如果可能的话,请帮助我们使用更好的解决方案和代码示例,不要让我使用jquery插件。
这是我的代码示例`
$('img', $(newElement)).each(function () {
var parentID = $(this).parent('div').attr('id','taskDueDate_'+TotalInputs+'newTasks_cf_buttondiv');
var calendarDivID = parentID.siblings('div').attr('id','taskDueDate_'+TotalInputs+'newTasks_cf_container.yui-calcontainer.single.withtitle')
var calendarTableID = calendarDivID.children('table').attr('id','taskDueDate_'+TotalInputs+'_cf_calendar'+parseInt(3+i))
calendarTableID.find('td').each(function(){
var calendarTableTdID = $(this).attr('id').replace('taskDueDate_1_cf_calendar3','taskDueDate_'+TotalInputs+'_cf_calendar'+parseInt(3+i));
var newCalendarTableTdID = $(this).attr('id', calendarTableTdID)//alert(calendarTableTdID);
});
//console.log(calendarTableTdID);
//var currCalendarTableTdID = calendarTableTdID.replace('taskDueDate_'+i,'taskDueDate_'+TotalInputs);
$(this).attr('id','taskDueDate_'+TotalInputs+'newTasks_cf_button');
});`
答案 0 :(得分:0)
这种方法可行。编写一个类似这样的ColdFusion函数:
<cffunction name="something">
<cfargument name="idIn">
<cfsavecontent variable = "htmlToReturn">
code to generate the required html, including the
cfcalendar, using the incoming argument
</cfsavecontent>
<cfreturn htmlToReturn>
在您的实际页面中,当您想要向表单添加更多内容时,请使用javascript进行调用此函数的ajax调用,并使用返回的html填充div。