2013-02-23 2 views
0

J'ai trouvé un script jquery pour créer une table et un bouton pour ajouter des lignes au bas de la table. Ensuite, il y a des liens sur chaque ligne lorsque vous cliquez dessus pour supprimer cette ligne spécifique. Tout fonctionne comme prévu dans Chrome & Safari mais pas dans FireFox ou IE. Voici le Jquery..remove travailler en chrome et safari mais pas en FF & IE

if ($("table#data tbody tr").size() == 1) { 
    $('.deleteRowButton').hide(); 
} 

$('.deleteRowButton').live('click',function() { 
    var bid = $(this).attr('id'); 
    var nid = bid.replace(/[^\d.]/g, ""); 
    var pid = $("#product" + nid).val(); 
    $("#productschanges").append("2:" + nid + ":" + pid + ","); 
    if ($("table#data tr").size() > 1) { 
    $(this).parents('tr').first().remove(); 

    if ($("table#data tbody tr").size() == 1) { 
     $('.deleteRowButton').hide(); 
    } else { 
     $('.deleteRowButton').show(); 
    } 
} else { 
    $('.deleteRowButton').hide(); 
} 
}); 

$(".addRowButton").click(function() { 
    $("table#data tbody tr:last").clone(true).find("select").each(function() { 
     $(this).attr({ 
      'id': function(_, id) { 
       return this.id.replace(/[0-9]/g, '') + i; 
      }, 
      'name': function(_, name) { 
       return this.name.replace(/[0-9]/g, '') + i; 
      }, 
      'value': function(_, value) { 
       return ''; 
      } 
     }); 
     $(this).prop('disabled', false); 

    }).end().find("input").each(function() { 
     $(this).attr({ 
      'id': function(_, id) { 
       return this.id.replace(/[0-9]/g, '') + i; 
      }, 
      'name': function(_, name) { 
       return this.name.replace(/[0-9]/g, '') + i; 
      }, 
      'value': function(_, value) { 
       return ''; 
      } 
     }); 

    }).end().find("button").each(function() { 
     $(this).attr({ 
      'id': function(_, id) { 
       return this.id.replace(/[0-9]/g, '') + i; 
      }, 
     }); 

    }).end().appendTo("table#data tbody"); 
    i++; 

    $('.deleteRowButton').show(); 
}); 

Append au sein .deleteRowButton fonctionne dans tous les navigateurs, mais la ligne n'est pas supprimé comme prévu. Toute aide sur pourquoi cela ne fonctionne pas dans les deux navigateurs?

Merci 2Pher

+0

Avez-vous vu des erreurs javascipt dans la console IE ou FF? – SRy

+0

Pouvez-vous faire un violon? – Barmar

+0

Je n'ai vu aucune erreur. J'ai essayé de jouer du violon, mais je n'ai même pas réussi à faire jouer le violon. voici un lien vers une page de test que j'ai créée et si vous utilisez chrome ou safari à la fois le travail Ajouter un ingrédient et supprimer un ingrédient. Cependant, dans Firefox (et je crois que IE, je ne l'ai pas à tester), le bouton Remove Ingredient ne fonctionne pas. http://skafreaksonline.com/test.php?func=edit&editid=5 –

Répondre

0

-je voir votre code html source. Je vois beaucoup de balises html n'est pas la bonne position. avant que le style de tag ait un tag de fermeture, pas de balise ouverte. Vous devez corriger cette erreur. a ouvert la balise et ferme la balise valide.

+0

Je sais que toutes les étiquettes ne sont pas parfaites, je suis juste un codeur amateur, mais je ne suis pas vraiment sûr de ce que vous vouliez dire par là. –

+0

hey. Tu devrais le faire. Lorsque la balise ouverte ne correspond pas à la balise de fermeture, des erreurs incontrôlables peuvent se produire. – H2O

+0

Je comprends que je devrais corriger une étiquette mais je ne comprends pas de quelle étiquette vous parlez. –

Questions connexes