jQuery使用clone之後的datepicker問題

今天在工作中碰到需要複製table中某一行的操作,但行中有一個text帶有datepicker功能,clone以後的新行有日曆的圖標但點擊圖標就是不彈出日曆,後來比較醜陋的解決了(因爲對jquery-ui一竅不通).貼出來分享一下:

function addOne(tblName){
	var index =  parseInt($("#"+tblName+" tbody tr:last-child td:first span").html())+1;
	var $cloneLine = $("#"+tblName+" tbody tr:last-child").clone();
	$cloneLine.find("td").eq(1).html('<input type="text" />'); // $cloneLine.find("td").eq(1)這個td包含日期輸入項,我把它用普通的text代替
	$cloneLine.find("td").eq(1).children("input:text").eq(0).datepicker({ //把剛剛替換的text加上datepicker屬性
        changeMonth: true, 
        changeYear: true, 
        dateFormat: 'yy-mm-dd',
        showAnim: 'fadeIn',
        duration: 'fast',
        prevText: '',
        nextText: '',
        showOn: 'button',
        buttonImageOnly: true,
        buttonImage: 'images/date_time_06.gif',
        showButtonPanel: true,
        monthNamesShort: ['一月', '二月', '三月', '四月', '五月', '六月',
		    '七月', '八月', '九月', '十月', '十一月', '十二月']
	});
	$cloneLine.appendTo("#"+tblName+" tbody");
	$("#"+tblName+" tbody tr:last-child td:first span").html(index);
	$("#"+tblName+" tbody tr:last-child td:first input:hidden").val(index);
	$("#"+tblName+" tbody tr td:last-child").html("");
	$("#"+tblName+" tbody tr:last-child td:last").html('<span class="icon icon-delone"></span>');

	$('#'+tblName+" tbody tr:last-child input:text, "+'#'+tblName+" tbody tr:last-child select").val('');
}
以後項目中的如碰到類似問題可以照此方法做,但肯定不是最好的方法.

我曾試過不做替換,直接加.datepicker但是不行...

各位大大有啥更好的方法嗎?

(本項目只在IE8運行,故其他瀏覽器未測試)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章