web-dev-qa-db-fra.com

Convertir une chaîne en nombre et en ajouter un

Je veux transformer la valeur obtenue de l'id en un nombre et en ajouter un, puis transmettre la nouvelle valeur à la fonction dosomething() à utiliser. Quand j’ai essayé cela et que le rapport qualité-prix en est un, je reçois 11 pas 2.

$('.load_more').live("click",function() { // When user clicks
    var newcurrentpageTemp = $(this).attr("id") + 1;// Get id from the hyperlink
    alert(parseInt(newcurrentpageTemp));
    dosomething();
});
90
Niklas

En supposant que vous ayez raison et que votre identifiant soit un nombre correct (sans autre texte), vous devez analyser l'identifiant, puis en ajouter un:

var currentPage = parseInt($(this).attr('id'), 10);
++currentPage;

doSomething(currentPage);
183
Justin Niessner

Avez-vous essayé de le retourner un peu?

var newcurrentpageTemp = parseInt($(this).attr("id"));
newcurrentpageTemp++;
alert(newcurrentpageTemp));
10
Doozer Blake

Je crois que vous devriez ajouter 1 après en le passant à parseInt

$('.load_more').live("click",function() { //When user clicks
          var newcurrentpageTemp = parseInt($(this).attr("id")) + 1;   
          alert(newcurrentpageTemp);
          dosomething();
      });

http://jsfiddle.net/GfqMM/

8
cyco130
$('.load_more').live("click",function() { //When user clicks
          var newcurrentpageTemp = parseInt($(this).attr("id")) + 1
          dosomething(newcurrentpageTemp );
      });

http://jsfiddle.net/GfqMM/

7
Sedat Başar

Analyser l'ID comme il s'agirait d'une chaîne puis ajouter.

par exemple.

$('.load_more').live("click",function() { //When user clicks
    var newcurrentpageTemp = parseInt($(this).attr("id")) + 1;//Get the id from the hyperlink
    alert(newcurrentpageTemp);
    dosomething();
});
5
Jayendra

Vous devez analyser l'identifiant avant d'ajouter 1

 $('.load_more').live("click",function() { //When user clicks
              var newcurrentpageTemp = parseInt($(this).attr("id"));
              newcurrentpageTemp ++;
              dosomething(newcurrentpageTemp );
 });
5
Jean-Charles

La solution la plus simple ici est de changer

  var newcurrentpageTemp = $(this).attr("id") + 1;//Get the id from the hyperlink

à:

  var newcurrentpageTemp = (($(this).attr("id")) * 1) + 1;//Get the id from the hyperlink
4
DevlshOne

Je travaille dans une situation similaire pour passer à la page suivante, comme ceci:

$("#page_next").click(function () {
    $("#pageNumber").val(parseInt($("#pageNumber").val()) + 1);
    submitForm(this);
    return false;
});

Vous devriez pouvoir ajouter des crochets pour obtenir ce que vous voulez, par exemple:

var newcurrentpageTemp = (parseInt($(this).attr("id"))) + 1;//Get the id from the hyperlink
4
Chris Snowden

La solution parseInt est la meilleure voie à suivre car il est clair ce qui se passe.

Pour être complet, il convient de mentionner que cela peut également être fait avec l'opérateur +

$('.load_more').live("click",function() { //When user clicks
  var newcurrentpageTemp = +$(this).attr("id") + 1; //Get the id from the hyperlink
  alert(newcurrentpageTemp);
  dosomething();
});
2
njr101
var sVal = '234';
var iNum = parseInt(sVal); //Output will be 234.

http://www.jquerybyexample.net/2013/02/jquery-convert-string-to-integer.html

1
brilliantairic
var first_value = '2';
// convert this string value into int
parseInt(first_value);
0
Ali Umair

La solution simple et meilleure est comme ça. Prenez une chaîne dans une variable, puis convertissez-la en utilisant la méthode parseInt () comme ci-dessous.

var stringValue = '921795';
var numValue = parseInt(stringValue);

la méthode parseInt () retournera le nombre comme ceci 921795. Après cela, vous pourrez ajouter n'importe quel nombre à votre valeur.

http://www.phpcodify.com/convert-string-to-integer-using-jquery-parseint/

0
Ehtesham Shami

une bonne façon de http://try.jquery.com/levels/4/challenges/16 :

ajout d'un + avant la chaîne sans utiliser parseInt et parseFloat, radix et erreurs rencontrées pour le paramètre radix manquant

échantillon

var number= +$('#inputForm').val();
0
Iman Abidi