Я хочу повернуть значение, которое я получаю из идентификатора, в число и добавить его к нему, а затем передать новое значение в используемую функцию dosomething()
. Когда я попробовал это, и значение одно, я вернусь 11, а не 2.
$('.load_more').live("click",function() { // When user clicks
var newcurrentpageTemp = $(this).attr("id") + 1;// Get id from the hyperlink
alert(parseInt(newcurrentpageTemp));
dosomething();
});
Предполагая, что вы верны, и ваш идентификатор является правильным номером (без какого-либо другого текста), вы должны проанализировать идентификатор и затем добавить его к нему:
var currentPage = parseInt($(this).attr('id'), 10);
++currentPage;
doSomething(currentPage);
+ 1
в конце первой строки, вместо того, чтобы использовать предварительный инкремент ++
во второй строке, чтобы сделать его более компактным.
Вы пробовали немного сфотографировать его?
var newcurrentpageTemp = parseInt($(this).attr("id"));
newcurrentpageTemp++;
alert(newcurrentpageTemp));
Я считаю, вы должны добавить 1 после передачи его parseInt
$('.load_more').live("click",function() { //When user clicks
var newcurrentpageTemp = parseInt($(this).attr("id")) + 1;
alert(newcurrentpageTemp);
dosomething();
});
$('.load_more').live("click",function() { //When user clicks
var newcurrentpageTemp = parseInt($(this).attr("id")) + 1
dosomething(newcurrentpageTemp );
});
Вам нужно проанализировать идентификатор перед добавлением 1
$('.load_more').live("click",function() { //When user clicks
var newcurrentpageTemp = parseInt($(this).attr("id"));
newcurrentpageTemp ++;
dosomething(newcurrentpageTemp );
});
Разберите идентификатор, как он будет строкой, а затем добавьте.
например.
$('.load_more').live("click",function() { //When user clicks
var newcurrentpageTemp = parseInt($(this).attr("id")) + 1;//Get the id from the hyperlink
alert(newcurrentpageTemp);
dosomething();
});
Самое простое решение здесь - изменить
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
У меня это работает в аналогичной ситуации для перехода на следующую страницу следующим образом:
$("#page_next").click(function () {
$("#pageNumber").val(parseInt($("#pageNumber").val()) + 1);
submitForm(this);
return false;
});
Вы должны иметь возможность добавлять скобки для достижения желаемого результата:
var newcurrentpageTemp = (parseInt($(this).attr("id"))) + 1;//Get the id from the hyperlink
Решение parseInt - лучший способ, так как ясно, что происходит.
Для полноты стоит упомянуть, что это также можно сделать с помощью оператора +
$('.load_more').live("click",function() { //When user clicks
var newcurrentpageTemp = +$(this).attr("id") + 1; //Get the id from the hyperlink
alert(newcurrentpageTemp);
dosomething();
});
var sVal = '234';
var iNum = parseInt(sVal); //Output will be 234.
http://www.jquerybyexample.net/2013/02/jquery-convert-string-to-integer.html
var first_value = '2';
// convert this string value into int
parseInt(first_value);
отличный способ от http://try.jquery.com/levels/4/challenges/16:
добавление + перед строкой без использования parseInt и parseFloat и radix и ошибок, с которыми я столкнулся с отсутствием параметра radix
Пример
var number= +$('#inputForm').val();