2010-11-12 15 views
0
$('.removeItem').live('click',function(){          
         var postData = {}; 
         $(this).closest('tr').find('.tableRow'){ 
          var keyPrefix = 'data[' + index + ']'; 
          postData[keyPrefix + '[index]'] = $(this).closest('tr').find('.row_id').text(); 
          postData['data['+ index +'][order_id]'] = $('#order_id').text(); 
         }; 

Je ne suis pas sûr si c'est évident ce que je suis en train de faire, mais quelqu'un peut-il repérer où je vais mal?

EDIT:

complètement ma faute, a été légèrement trompeur dans mon post original, voici mon code complet:

$('.removeItem').live('click',function(){          
        var postData = {}; 
        $(this).closest('tr').find('.tableRow'){ 
         var keyPrefix = 'data[' + index + ']'; 
         postData[keyPrefix + '[index]'] = $(this).closest('tr').find('.row_id').text(); 
         postData['data['+ index +'][order_id]'] = $('#order_id').text(); 
        )}; 

       $.ajax 
        ({ 
        type: "POST", 
        url: "deleterow.php", 
        dataType: "json", 
        data: postData, 
        cache: false, 
        success: function() 
         { 
          alert("Item Deleted"); 
         } 
        });   
       $(this).closest('tr').remove(); 
       calcTotal(); 
      }); 
+0

Une fois que vous obtenez loin. '$ (This) .closest ('tr') find (» tablerow. ') 'qu'essayez-vous d'accomplir? Souhaitez-vous exécuter le bloc de code précédent sur cet ensemble emballé? –

Répondre

1

A en juger par la variable "index", je pense que le code devrait être:

$('.removeItem').live('click', function() { 
    var postData = {}; 
    $(this).closest('tr').find('.tableRow').each(function(index) { 
    var keyPrefix = 'data[' + index + ']'; 
    postData[keyPrefix + '[index]'] = $(this).closest('tr').find('.row_id').text(); 
    postData['data[' + index + '][order_id]'] = $('#order_id').text(); 
    }); 
}); 
2

Vous avez oublié la fermeture ) dans l'appel .live.

Ignorer le contenu du rappel, votre code est

$('.removeItem').live('click',function(){ ... } ; 
              ^

Notez que vous appelez une fonction avec deux paramètres, mais pas fermer les parenthèses.

+0

Oui, c'est aussi un problème. – Pointy

+0

désolé d'avoir modifié mon OP, cela devrait le rendre plus clair quant à mes intentions! – benhowdle89

3

Cette ligne ici:

   $(this).closest('tr').find('.tableRow'){ 

manque quelque chose. Quelle? Pas clair, mais peut-être que cela devrait être

   $(this).closest('tr').find('.tableRow').each(function() { 
+0

Battez-moi. Je suspecte chacun() aussi. –

1

Vous ne fermez pas le bloc fonctionnel "en direct". vous devez ajouter }); à la fin de la dernière ligne.