我有以下javascript代码,以便在表格上添加新行。 最近我添加了一个jquery datepicker,但以下代码似乎无法正常工作。我怎样才能使它发挥作用?
function addLine(idTab,idRow,idForm,idContatore){
var numLine=document.getElementById(idTab).rows.length-1;
var tbody = document.getElementById
(idTab).getElementsByTagName("TBODY")[0];
var oldLine=document.getElementById(idRow);
var newLine=oldLine.cloneNode(true);
numLine++;
updateAttributes(newLine,'id',numLine);
updateAttributes(newLine,'name',numLine);
//resetValue(newRiga,'input');
//resetValue(newRiga,'textarea');
tbody.appendChild(newLine);
tbody.appendChild(newLine);
//attach datepicker
$(".datepick").datepicker();
document.getElementById(idContatore).value=numLine;
//alert (numLine+' '+idContatore);
//alert(document.getElementById(idContatore).value);
}
function updateAttributes(node,attr,newNum){
if(node.hasChildNodes)
for(var k=0,l=node.childNodes.length;k<l;k++)
updateAttributes(node.childNodes[k],attr,newNum);
if(node[attr]){
var newAttrValue=node[attr].replace(/[0-9]+/,newNum);
var IE=(document.all && !window.opera)?1:0;
if(attr=='htmlFor'){
node.removeAttribute(attr);
attr=(IE)?'htmlFor':'for';
}
if(attr=='name' && node.type && node.type=='radio' && document.all && !window.opera)
node.outerHTML=node.outerHTML.replace(/name=[^\s>]+/g, 'name='+newAttrValue);
else node.setAttribute(attr,newAttrValue);
}
}
答案 0 :(得分:0)
我通过在addLine函数的开头添加che语句$(&#34; .datepick&#34;)来解决这个问题.datepicker(&#34; destroy&#34;); 。 我正在使用jquery
更好地添加行答案 1 :(得分:0)
对于所有日期选择器,您可以使用此代码。 classname应该相同
$('body').on('focus',".date-picker", function(){
$(this).datepicker();
});