2009-08-14 4 views
1

HaiEnlever l'enfant ne fonctionne pas

Je fais une page web. En ce qu'il ya une liste déroulante contient certains produits, lorsque nous sélectionnons un article, il sera affiché ci-dessous avec un bouton de suppression de manière dynamique. Mon problème est que tous les produits ont été supprimés correctement, mais un produit qui a l'ID de produit 5 n'est pas supprimé? Quel est le problème? Ci-dessous mon code

<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

A quoi ressemble le document? – Gumbo

+0

essayez de poster seulement le code pertinent –

+0

C'est drôle, ma mère a dit la même chose à propos de moi quand j'étais plus jeune. –

Répondre

5

En removeChild général doit être appelé à partir du nœud parent du nœud qui doit être supprimé. Alors essayez ceci:

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