Chcę zamienić wartość otrzymaną z identyfikatora na liczbę i dodać do niej jedną, a następnie przekazać nową wartość do dosomething()
funkcji, której chcesz użyć. Kiedy próbowałem tego i wartość jest jeden, otrzymuję 11, a nie 2.
$('.load_more').live("click",function() { // When user clicks
var newcurrentpageTemp = $(this).attr("id") + 1;// Get id from the hyperlink
alert(parseInt(newcurrentpageTemp));
dosomething();
});
+ 1
na końcu pierwszej linii, zamiast używać preinkrementera++
w drugiej linii, aby być bardziej zwartym.Czy próbowałeś to trochę przerzucić?
var newcurrentpageTemp = parseInt($(this).attr("id")); newcurrentpageTemp++; alert(newcurrentpageTemp));
źródło
Uważam, że po przekazaniu go do parseInt należy dodać 1
$('.load_more').live("click",function() { //When user clicks var newcurrentpageTemp = parseInt($(this).attr("id")) + 1; alert(newcurrentpageTemp); dosomething(); });
http://jsfiddle.net/GfqMM/
źródło
$('.load_more').live("click",function() { //When user clicks var newcurrentpageTemp = parseInt($(this).attr("id")) + 1 dosomething(newcurrentpageTemp ); });
http://jsfiddle.net/GfqMM/
źródło
Przeanalizuj identyfikator, tak jak byłby to ciąg, a następnie dodaj.
na przykład
$('.load_more').live("click",function() { //When user clicks var newcurrentpageTemp = parseInt($(this).attr("id")) + 1;//Get the id from the hyperlink alert(newcurrentpageTemp); dosomething(); });
źródło
Mam to działające w podobnej sytuacji przy przechodzeniu do następnej strony w ten sposób:
$("#page_next").click(function () { $("#pageNumber").val(parseInt($("#pageNumber").val()) + 1); submitForm(this); return false; });
Powinieneś być w stanie dodać nawiasy, aby osiągnąć to, co chcesz, coś takiego:
var newcurrentpageTemp = (parseInt($(this).attr("id"))) + 1;//Get the id from the hyperlink
źródło
Musisz przeanalizować identyfikator przed dodaniem 1
$('.load_more').live("click",function() { //When user clicks var newcurrentpageTemp = parseInt($(this).attr("id")); newcurrentpageTemp ++; dosomething(newcurrentpageTemp ); });
źródło
Najprostszym rozwiązaniem jest tutaj zmiana
var newcurrentpageTemp = $(this).attr("id") + 1;//Get the id from the hyperlink
do:
var newcurrentpageTemp = (($(this).attr("id")) * 1) + 1;//Get the id from the hyperlink
źródło
Rozwiązanie parseInt jest najlepszym sposobem, ponieważ jest jasne, co się dzieje.
Dla kompletności warto wspomnieć, że można to również zrobić za pomocą operatora +
$('.load_more').live("click",function() { //When user clicks var newcurrentpageTemp = +$(this).attr("id") + 1; //Get the id from the hyperlink alert(newcurrentpageTemp); dosomething(); });
źródło
var sVal = '234'; var iNum = parseInt(sVal); //Output will be 234.
http://www.jquerybyexample.net/2013/02/jquery-convert-string-to-integer.html
źródło
ładny sposób z http://try.jquery.com/levels/4/challenges/16 :
dodanie + przed napisem bez użycia parseInt i parseFloat oraz radix i błędów napotkanych z powodu braku parametru radix
próba
var number= +$('#inputForm').val();
źródło
var first_value = '2'; // convert this string value into int parseInt(first_value);
źródło
Proste i najlepsze rozwiązanie jest takie. weź łańcuch w jednej zmiennej, a następnie przekonwertuj go za pomocą metody parseInt (), jak poniżej.
var stringValue = '921795'; var numValue = parseInt(stringValue);
Metoda parseInt () zwróci liczbę taką jak ta 921795. po tym możesz dodać dowolną liczbę do swojej wartości.
http://www.phpcodify.com/convert-string-to-integer-using-jquery-parseint/
źródło