0

我有下面的代码,它动态地向表单添加和删除文本框。

$(document).ready(function(){    
var str = '<div id="my{0}Div"><textarea id="corrective{0}" name="corrective{0}"  rows="12" cols="50" class="field textarea small"></textarea><span class="link" id="delete{0}Row">Remove This</span></div>';

<cfif thisInstance.recommendationCorrectiveAction.RecordCount>
var i = <cfoutput>#thisInstance.recommendationCorrectiveAction.RecordCount#</cfoutput>+1;
<cfelse>
var i = 2;                              
</cfif>

 function addRow() {
    updateStr = jQuery.format(str, i);                              
    $(updateStr).appendTo("#MyRecommends");

     // add the click handler for the delete link
    $('#delete'+i+'Row').click(deleteRow);

   // reset the corrective action count
    updateCorrectiveActionCount = parseInt(objForm.correctiveActionCount.getValue())+1;
    objForm.correctiveActionCount.setValue(updateCorrectiveActionCount);  
  i++;
 }

function deleteRow() {
    var parentID = $(this).parent('div').attr('id');            
    $('#MyRecommends #'+parentID).remove();          
    // reset the corrective action count
    updateCorrectiveActionCount = parseInt(objForm.correctiveActionCount.getValue())-1;
    objForm.correctiveActionCount.setValue(updateCorrectiveActionCount);
    i--;  
    }


    $("#add").click(addRow);
}); 

如果我连续添加和删除文本框,这很好。但是,如果我添加两个文本框说 tb2 和 tb3,然后按 tb2 的“删除此”链接;尽管上面 i 的值减少到 2,但我收到一条错误消息,提示“在类型为 Coldfusion.filter.FormScope 的 Java 对象中未定义元素校正 2。<br>错误发生在第 351 行。”

我需要一个解决方案,每次添加或删除一个文本框时,整个系列都会重新编号,或者任何更好的解决方案。

4

0 回答 0