Dieser Code ist nicht DRY. Diese Funktionen unterscheiden einige Variablen und Ajax-Anforderungen, aber sie sind sehr ähnlich.JQuery, trocken. Klicken Sie auf Funktionen mit AJAX
$(".increase-line-item").click(function(){
var currentLineItem = $(this).parents("tr")[0];
var lineItemQuantity = parseInt($(lineItemQuantityElement).text());
// ...
$.ajax({
url: "/line_items/increase_quantity?line_item=" + $(currentLineItem).attr("data-line-item-id"),
type: "POST",
success: function(result){
$(lineItemQuantityElement).text(lineItemQuantity+1);
$(totalPriceElement).text(totalPrice);
console.log(result);
})
});
$(".decrease-line-item").click(function(){
var currentLineItem = $(this).parents("tr")[0];
var lineItemQuantity = parseInt($(lineItemQuantityElement).text());
// ...
$.ajax({
url: "/line_items/decrease_quantity?line_item=" + $(currentLineItem).attr("data-line-item-id"),
type: "POST",
success: function(result){
if (lineItemQuantity > 1) {
$(lineItemQuantityElement).text(lineItemQuantity-1);
}
else{
$(currentLineItem).fadeOut(200);
$(lineItemsCountElement).text(lineItemsCount - 1);
};
$(totalPriceElement).text(totalPrice);
console.log(result);
}
})
});
Ich möchte es am besten machen. Wie es geht? Hilf mir.
bind Funktion wie '$ klicken (function() {. 'ie [Multiple Selector (" selector1, selector2, selectorN ")] (https://api.jquery.com/multiple-selector/) – Satpal
@timgeb Das macht es einfach" Zu breit "auf SO. Keine Notwendigkeit für eine benutzerdefinierte Schließen Grund – Mast
Bitte * nicht * verwenden "gehört zu SiteX" als ein naher Grund. Die Existenz einer anderen Website macht hier nicht das Thema, es kann zu breit sein (an welcher Stelle können Sie hilfreich sein, indem Sie auf eine andere verweisen Website), aber bitte halten Sie sich an unsere * üblichen * Off-Topic Gründe. –