I want to turn the value I get from the id into a number and add one to it then pass the new value into the dosomething()
function to use. When I tried this and the value is one I get back 11 not 2.
$('.load_more').live("click",function() { // When user clicks
var newcurrentpageTem开发者_如何转开发p = $(this).attr("id") + 1;// Get id from the hyperlink
alert(parseInt(newcurrentpageTemp));
dosomething();
});
Assuming you are correct and your id is a proper number (without any other text), you should parse the id and then add one to it:
var currentPage = parseInt($(this).attr('id'), 10);
++currentPage;
doSomething(currentPage);
Have you tried flip-flopping it a bit?
var newcurrentpageTemp = parseInt($(this).attr("id"));
newcurrentpageTemp++;
alert(newcurrentpageTemp));
I believe you should add 1 after passing it to parseInt
$('.load_more').live("click",function() { //When user clicks
var newcurrentpageTemp = parseInt($(this).attr("id")) + 1;
alert(newcurrentpageTemp);
dosomething();
});
http://jsfiddle.net/GfqMM/
$('.load_more').live("click",function() { //When user clicks
var newcurrentpageTemp = parseInt($(this).attr("id")) + 1
dosomething(newcurrentpageTemp );
});
http://jsfiddle.net/GfqMM/
Parse the Id as it would be string and then add.
e.g.
$('.load_more').live("click",function() { //When user clicks
var newcurrentpageTemp = parseInt($(this).attr("id")) + 1;//Get the id from the hyperlink
alert(newcurrentpageTemp);
dosomething();
});
I've got this working in a similar situation for moving to next page like this:
$("#page_next").click(function () {
$("#pageNumber").val(parseInt($("#pageNumber").val()) + 1);
submitForm(this);
return false;
});
You should be able to add brackets to achieve what you want something like this:
var newcurrentpageTemp = (parseInt($(this).attr("id"))) + 1;//Get the id from the hyperlink
You have to parse the id before adding 1
$('.load_more').live("click",function() { //When user clicks
var newcurrentpageTemp = parseInt($(this).attr("id"));
newcurrentpageTemp ++;
dosomething(newcurrentpageTemp );
});
The simplest solution here is to change
var newcurrentpageTemp = $(this).attr("id") + 1;//Get the id from the hyperlink
to:
var newcurrentpageTemp = (($(this).attr("id")) * 1) + 1;//Get the id from the hyperlink
The parseInt solution is the best way to go as it is clear what is happening.
For completeness it is worth mentioning that this can also be done with the + operator
$('.load_more').live("click",function() { //When user clicks
var newcurrentpageTemp = +$(this).attr("id") + 1; //Get the id from the hyperlink
alert(newcurrentpageTemp);
dosomething();
});
a nice way from http://try.jquery.com/levels/4/challenges/16 :
adding a + before the string without using parseInt and parseFloat and radix and errors i faced for missing radix parameter
sample
var number= +$('#inputForm').val();
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);
Simple and best solution is like this. take a string in one variable and then convert it using parseInt() method like below.
var stringValue = '921795';
var numValue = parseInt(stringValue);
parseInt() method will return the number like this 921795. after this, you can add any number to your value.
http://www.phpcodify.com/convert-string-to-integer-using-jquery-parseint/
精彩评论