0
我一直在努力的功能,其中,我需要實現自動保存在表的每個單元格,並且,如果該單元格是最後一行的最後一個單元格,添加一個新行。新克隆的行也應該具有相同的綁定模糊事件。我可以添加新行,但事件沒有被觸發。這裏是代碼.. 請幫助卡住長現在..Jquery事件綁定新克隆行
$("#myTable1").live("blur", function(){
var elementValue = document.getElementById("<%=count%>").value.toString();
var value = $("#<%=count%>_hidden").attr('value').toString();
var qualValue = "<%=qualValue %>";
var sequenceNumber = "<%=sequenceNumber %>";
var parentAttrbtInstId = "<%=parentAttrbtInstId %>";
var parentId = "<%=parentId %>";
var attrbtId = "<%=attrbtId %>";
var attrbtInstId = $("#<%=count%>_hidden").attr('attrbtInstId').toString();
var rootId = "<%=rootId %>";
var itemId = "<%=item.getItemId()%>";
var currentCount = "<%=count%>";
var cellCount = "<%=cellLimit%>";
var rowId = "row_<%=rowCounter%>";
var rowCount = <%=rowCounter%>;
if(elementValue.toLowerCase() != value.toLowerCase()){
$.ajax({
url: "<portlet:resourceURL id='autoSaveAction' />",
type: 'POST',
dataType: 'json',
data: { elementValue:elementValue,qualValue:qualValue,sequenceNumber:sequenceNumber,parentAttrbtInstId:parentAttrbtInstId,parentId:parentId,attrbtId:attrbtId,
attrbtInstId:attrbtInstId,rootId:rootId,itemId:itemId},
success : function(response) {
if (response.status == "SUCCESS") {
jsonstr=JSON.stringify(response.result);
var temp=JSON.parse(jsonstr);
$("#<%=count%>_hidden").attr('attrbtInstId',temp.attrInstId);
document.getElementById("<%=count%>_hidden").value = temp.attrValue;
if(currentCount == cellCount){
cloneRow = $("#myTable1 tr:last").clone(true);
cloneRow.attr({
'id': function(_, id) {
return "row_"+(rowCount+1);
}
}).end().appendTo("#myTable1");
cloneRow.find("input").each(function() {
$(this).attr({
'id': function(_, id) {
if (id.indexOf("hidden")!= -1){
return currentCount + "_hidden";
}else{
return ++currentCount;
}
}
});
}).end().appendTo("#myTable1");
cloneRow.find("select").each(function() {
$(this).attr({
'id': function(_, id) {
if (id.indexOf("hidden")!= -1){
return currentCount + "_hidden";
}else{
return ++currentCount;
}
}
});
}).end().appendTo("#myTable1");
cloneRow.find("textarea").each(function() {
$(this).attr({
'id': function(_, id) {
if (id.indexOf("hidden")!= -1){
return currentCount + "_hidden";
}else{
return ++currentCount;
}
}
});
}).end().appendTo("#myTable1");
}
} else {
}
},
error:function (xhr, ajaxOptions, thrownError){
}
});
}
});
});
live()函數已被棄用。您應該使用on()或delegate() – Jlange 2012-08-10 17:36:29
您正在將模糊事件添加到表中。當你離開你的表格上下文時,你想讓這個事件觸發嗎?如果您希望輸入具有自己的模糊功能,則需要綁定到輸入,而不是表格。 – Jlange 2012-08-10 17:38:50
感謝您的回覆。我在表中有多個輸入和選擇元素。我如何對錶格中的每個元素進行模糊調用,以便它應該通過克隆的元素進行傳播? – 2012-08-10 21:02:45