2009-08-14 5 views
1

하이아이를 제거하지 못함

나는 웹 페이지를보고있다. 드롭 다운에 일부 제품이 포함되어 있으므로 항목을 선택하면 아래에 제거 버튼이 동적으로 표시됩니다. 내 문제는 제품이 올바르게 제거되었지만 제품 ID가 5 인 제품이 제거되지 않는다는 것입니다. 뭐가 문제 야? 아래는 내 코드입니다

<script type="text/javascript> 
function validate(frm_name){ 
var hiddenFeild = document.getElementById('product'); 
var addedItems = hiddenFeild.value; 
var brokenItems = addedItems.split(","); 
    if(isEmpty(hiddenFeild.value)){ 
     alert("No Product Added."); 
     return false; 
    } 
    if(brokenItems.length < 3){ 
     alert("Please Add One More Product."); 
     return false; 
    } 
    return true; 
} 
function removeme(id){ 
compareDiv = document.getElementById('compare_product'); 
var remDiv = document.getElementById(id); 
compareDiv.removeChild(remDiv); 
var hiddenFeild = document.getElementById('product'); 
var addedItems = hiddenFeild.value; 
var brokenItems = addedItems.split(","); 
hiddenFeild.value = ''; 
for(var i = 0 ; i < brokenItems.length-1; i++){ 
    if(brokenItems[i] != id){ 
     hiddenFeild.value = hiddenFeild.value +brokenItems[i]+','; 
    } 
} 
} 
function selectProduct(){ 
    var flag = 0; 
    compareDiv = document.getElementById('compare_product'); 
    var proValue = document.getElementById('frm_product').value; 
    if(proValue != 0){ 
     var product = proValue.split("productvalue"); 
     var productid = product[0]; 
     var productname = product[1]; 
     var hiddenFeild = document.getElementById('product'); 
     var addedItems = hiddenFeild.value; 
     var brokenItems = addedItems.split(","); 
     for(var i = 0 ; i < brokenItems.length; i++){ 
        if(brokenItems[i] == productid){  
         flag = 1; 
         alert('Already Added'); 
        } 
     } 
     if(flag == 0){ 
      hiddenFeild.value = hiddenFeild.value +productid+','; 
      compareDiv.innerHTML = compareDiv.innerHTML + '<div id="'+productid+'" style="height:30px;"><div style="float:left;" id="added_product">'+productname+'</div><div style="float:right;"><input onClick="removeme('+productid+');" id="remove" name="remove" type="button" value="remove" /></div></div>'; 
     } 
    } 
} 

</script> 
+0

문서는 어떻게 보이나요? – Gumbo

+0

관련 코드 만 게시하려고합니다. –

+0

재미 있습니다. 우리 엄마가 어렸을 때 저에 대해 똑같은 말을했습니다. –

답변

5

일반적으로 removeChild은 제거해야하는 노드의 부모 노드에서 호출되어야합니다. 따라서 다음을 시도해보십시오.

function removeme(id) { 
    var remDiv = document.getElementById(id); 
    remDiv.parentNode.removeChild(remDiv); 
    // … 
} 
관련 문제