Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js =================================================================== diff -u -r14892 -r14918 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 14892) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 14918) @@ -272,14 +272,7 @@ var hiddenjson = JSON.parse(hideStr); var actionBasketBarcode = basketJson.barcode; if(hiddenjson.barcode == actionBasketBarcode){ - try{ - $(this).find('dl').children().each(function(i,element){ - if($(this).attr('class') == 'del'){ - var deleteButton = $(this).find('a'); - deleteBasketItem(deleteButton); - } - }); - }catch(e){} + deleteAction(this); $(this).remove(); } }); @@ -290,6 +283,22 @@ } } +/** + * 由于删除篮筐中的一个物品后,数组长度发生变化,继续循环删除其他物品就会报错,所以每次只循环一次就跳出循环,重新获取数组长度继续循环 + */ +function deleteAction(thiz){ + $(thiz).find('dl').children().each(function(i,element){ + if($(this).attr('class') == 'del'){ + var deleteButton = $(this).find('a'); + deleteBasketItem(deleteButton); + return false;//跳出each循环 + } + }); + if($(thiz).find('dl').children().length > 0){ + deleteAction(thiz); + } +} + function deleteMaterialItem(deleteButton,containerBarcode,basketId){ var hideElement = $(deleteButton).parent().prev().prev().prev().prev(); var nameElement = $(deleteButton).parent().prev().prev().prev(); @@ -331,7 +340,6 @@ var basketElement = $(deleteButton).parent().parent(); var basketJSON = basketElement.prev().prev().prev().prev(); var basket = JSON.parse(basketJSON.val()); - var item = JSON.parse(hideElement.val()); var name = ""; var tousseNameForMaterial = ""; Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/expressRecycleForTouchScreen.jsp =================================================================== diff -u -r14765 -r14918 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/expressRecycleForTouchScreen.jsp (.../expressRecycleForTouchScreen.jsp) (revision 14765) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/expressRecycleForTouchScreen.jsp (.../expressRecycleForTouchScreen.jsp) (revision 14918) @@ -347,19 +347,28 @@ var hiddenjson = JSON.parse(hideStr); var actionBasketBarcode = basketJson.barcode; if(hiddenjson.barcode == actionBasketBarcode){ - try{ - $(this).find('dl').children().each(function(i,element){ - if($(this).attr('class') == 'del'){ - var deleteButton = $(this).find('a'); - deleteBasketItem(deleteButton); - } - }); - }catch(e){} + deleteAction(this); $(this).remove(); } }); } +/** + * 由于删除篮筐中的一个物品后,数组长度发生变化,继续循环删除其他物品就会报错,所以每次只循环一次就跳出循环,重新获取数组长度继续循环 + */ +function deleteAction(thiz){ + $(thiz).find('dl').children().each(function(i,element){ + if($(this).attr('class') == 'del'){ + var deleteButton = $(this).find('a'); + deleteBasketItem(deleteButton); + return false;//跳出each循环 + } + }); + if($(thiz).find('dl').children().length > 0){ + deleteAction(thiz); + } +} + function deleteMaterialItem(deleteButton,containerBarcode,basketId){ var hideElement = $(deleteButton).parent().prev().prev().prev(); var nameElement = $(deleteButton).parent().prev().prev();