2011-09-20 3 views
2

j'ai <span class="gramatz">(8)</span> et je voudrais ajouter +1 ou prendre -1 de 8, laissant() intacte, quand je clique sur mon bouton love.jquery mise à jour seulement numéro

$(function() { 
    $(".love").click(function() { 
     var id = $(this).attr("id"); 
     var dataString = 'id=' + id; 
     var parent = $(this); 
     $(this).fadeOut(300); 
     $.ajax({ 
      type: "POST", 
      url: "bookmark.php", 
      data: dataString, 
      cache: false, 
      success: function(html) { 
       parent.html(html); 
       parent.fadeIn(300); 
      } 
     }); 
     return false; 
    }); 
}); 

MISE À JOUR: J'ai oublié que je dois diminuer la aswell valeur, vérifiez l'image pour plus de détails: http://img593.imageshack.us/img593/6128/ss20110921031605.png

donc si l'utilisateur clique sur +, je dois augmenter la valeur, si l'utilisateur clique sur - I besoin de diminuer le nombre. Donc si l'icône a + il a <div class="over_img">&nbsp;</div> et si - il a ceci <div class="on_img">&nbsp;</div> P.S. P.S. plus un des icônes de moins sont générés à partir fond div

Répondre

0

nécessaire pour utiliser .live() pour faire le tour

1
$('.gramatz').text(function(i, val){ 
    return '(' + (+val.replace('(', '').replace(')', '') + 1) + ')'; 
}); 

Pour briser ce bas:

$('.gramatz').text(function(i, val) { 
    var num = val.replace('(', '').replace(')', ''); // "8" 
    num = +num; // Convert from string to number 
    num = num + 1; // add 1, will now be 9 
    return '(' + num + ')'; // "(9)" 
}); 

Si vous souhaitez utiliser une expression régulière, vous pouvez utiliser ceci:

$('.gramatz').text(function(i, val){ 
    return '(' + (+val.replace(/[^\d]/g, '') + 1) + ')'; 
}); 

Et voici le violon: http://jsfiddle.net/gaA2J/


Pour votre cas particulier, utilisez ceci:

$('.over_img, .on_img').click(function(){ 
    var amount = $(this).hasClass('over_img') ? 1 : -1 ; 
    $('.gramatz').text(function(i, val){ 
     return '(' + (+val.replace(/[^\d]/g, '') + amount) + ')'; 
    }); 
}); 

Et voici le violon: http://jsfiddle.net/gaA2J/1/

+0

Je mis à jour la question, pouvez-vous s'il vous plaît vérifier? Et merci le code fonctionne parfaitement pour ma question précédente, mais s'il vous plaît jeter un oeil à nouveau :) – Treat

+0

@Treat - J'ai mis à jour ma réponse ... –

+0

Thankyou! Je checke le violon et ça fonctionne vraiment comme j'en ai besoin, mais je pense qu'en raison de la façon dont le système a été codé sur mon site, ça ne marche pas. J'ai créé un lien d'accès spécial, donc il serait possible d'accéder à mon site et de vérifier ce qui ne va pas, ici c'est: http://www.filmas-online.lv/quick.php?stack=1 il suffit de cliquer sur un + et après il change de moins et regarde le haut du côté gauche pour un changement de nombre. – Treat

0

Seul le code incrémenter apparaît:

$(function() { 
    $(".love").click(function() { 
     $('.gramatz').text($('.gramatz').text().replace(/(\d+)/, function(str, val) { 
      return +val + 1; 
     })) 
    }); 
}); 

Example


EDIT

New Example

$(function() { 
    $(".love").click(function() { 
     var $class = $(this).attr('class'), 
      inc = $class.indexOf('minus') === -1 ? 1: -1; 

     $('.gramatz').text($('.gramatz').text().replace(/(-?\d+)/, function(str, val) { 
      return +val + inc ; 
     })) 
    }); 
}); 
+0

J'ai mis à jour la question, pouvez-vous s'il vous plaît vérifier? Et merci le code fonctionne parfaitement pour ma question précédente, mais s'il vous plaît jeter un oeil à nouveau :) – Treat

+0

Thankyou! J'ai vérifié le violon et votre exemple fonctionne comme je l'ai demandé, mais il ne fonctionnait pas sur mon site pour une raison quelconque. J'ai créé un lien d'accès spécial, il serait donc possible d'accéder à mon site et de vérifier ce qui ne va pas, le voici: http://filmas-online.lv/quick.php?stack=1 il suffit de cliquer sur un + et après changements sur moins et regarder le haut du côté gauche pour un changement de nombre. – Treat

Questions connexes