2017-03-01 4 views
-1

Ich habe einen Code, um einige Menge in der Tabelle zu berechnen, die dynamisch geladen. Und ich habe auch Code hinzugefügt, um die Klasse von a zu ändern, wenn die Menge kleiner als Null ist. Aber in meinem Fall, dass die Farbe zu einer Zeit ändern, d. H. In der ersten Reihe nicht im Rest der Reihen.nicht in der Lage, die Klasse in jquery zu ändern

$(document).ready(function() { 
 
    $("#itemtable").on("change", "input", function() { 
 
     var row = $(this).closest("tr"); 
 
     var received = parseFloat(row.find("td:eq(5)").text()); // get received qty 
 
     var accepted = parseFloat($(row).find("td:eq(6) input[type='text']").val()); 
 
     if (received < accepted){ 
 
    \t alert("Accepted qty greater than received qty, Please check!"); 
 
     } else { 
 
    \t var rejected = received - accepted; 
 
    \t row.find("td:eq(7) input[type='text']").val(isNaN(rejected) ? "" : rejected); 
 
     } 
 
     if (rejected > 0){ 
 
    \t alert("change class"); 
 
    \t \t $('#rejec').removeClass('tb1').addClass('tb2'); 
 
     }  
 
    }); 
 
});

+2

Können wir das HTML sehen, damit wir reproduzieren können –

+0

Sind Sie sicher, dass das Problem darin besteht, dass die Klasse nicht angewendet wird, oder stattdessen, dass die Regel nicht spezifisch genug ist, um andere zu überschreiben? Sie können dies im DOM-Inspektor überprüfen –

+0

sogar ich konnte sehen, dass der Fluss in abgewiesene> 0 (wie zutreffend), aber nicht angewendet – Jsel

Antwort

1

in dem ersten Reihe nicht in Rest der get Zeilen

Der Selektor der Spuck Text $("#reject") Bedürfnisse zu finden, die Zeile enthalten, das heißt:

$("#rejec", row).removeClass('tb1').addClass('tb2'); 

oder

row.find("#rejec").removeClass('tb1').addClass('tb2'); 

Im Allgemeinen IDs eindeutig sein sollte - wenn #rejec in jeder Zeile ist , es wird nur die erste ändern (wie Sie gefunden haben). Idealerweise sollten Sie Klassen verwenden und nach der Zeile des Ereignisses filtern.

0

wie oben erwähnt, dieses Stück Code verändert, um das erforderliche Ergebnis

if (rejected > 0){ 
 
    \t row.find("td:eq(7) input[type='text']").removeClass('tb1').addClass('tb2'); 
 
     } 

Verwandte Themen