2017-10-17 38 views
0

J'essaie d'ajouter une ligne dans une table en utilisant le prototype, mais elle ajoutera toujours la ligne à la fin de la table comment puis-je l'ajouter après une ligne spécifique ici mon code Je suis utilisé pour ajouter une ligne en utilisant le modèle. Je voudrais ajouter la ligne ci-dessus buttonsrow id. Cet identifiant est affecté à une ligne spécifique.Comment ajouter une ligne dans une table avant une ligne spécifique en utilisant uniquement le prototype

//<![CDATA[ 


var groupPriceRowTemplate = '<tr>' 
    + '<td class="label"><input name="extraoption[]" value="" type="text" class="input-text"></td>' 
    + '<td class="value"><input name="extravalues[]" value="" type="text" class="input-text"></td>' 
    +'<td class="value"><button title="Delete Group Price" type="button" class="scalable delete icon-btn delete-specification"><span>Delete</span></button></td>' 
    + '</tr>'; 



var groupPriceControlspec = { 
    template: new Template(groupPriceRowTemplate, new RegExp('(^|.|\\r|\\n)({{\\s*(\\w+)\\s*}})', '')), 
    addItem : function (event) { 
     console.log(Event.findElement(event, 'tr')); 
     Element.insert($('specification_container'), { 
      bottom : this.template.evaluate() 
     }); 
     this.bindRemoveButtons(); 

      }, 
    deleteItem: function(event) { 
     var tr = Event.findElement(event, 'tr'); 
     if (tr) { 
      Element.select(tr, ['td']).each(function(element) { 
       element.remove(); 
      }); 
     } 
     return false; 
    }, 
    bindRemoveButtons : function(){ 
     var buttons = $$('div.specification-container .delete-specification'); 
     for(var i=0;i<buttons.length;i++){ 
      if(!$(buttons[i]).binded){ 
       $(buttons[i]).binded = true; 
       Event.observe(buttons[i], 'click', this.deleteItem.bind(this)); 
      } 
     } 

} 
} 
groupPriceControlspec.bindRemoveButtons(); 
if($('addnewspecrow')){ 
    Event.observe('addnewspecrow', 'click', groupPriceControlspec.addItem.bind(groupPriceControlspec)); 
} 
//]]> 

Répondre