문자열을 숫자로 변환하고 하나 더하기


94

ID에서 얻은 값을 숫자로 바꾸고 여기에 1을 더한 다음 dosomething()사용할 함수에 새 값을 전달하고 싶습니다 . 내가 이것을 시도하고 값이 1이면 2가 아닌 11을 반환합니다.

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

답변:


190

정확하고 ID가 적절한 숫자 (다른 텍스트없이)라고 가정하면 ID를 구문 분석 한 다음 여기에 추가해야합니다.

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

doSomething(currentPage);

1
@Justin Niessner, 두 번째 줄에 사전 증분 기를 + 1사용하는 대신 ++더 간결하게하기 위해 첫 번째 줄 끝에서 할 수도 있습니다.
Chris Snowden 2011 년

@Chris-당신은 할 수 있지만 어떤 작업이 먼저 일어나고 있는지 예를 들어 명확하게하고 싶었습니다.
Justin Niessner 2011 년

@Justin Niessner, 충분히 공평합니다. 대괄호는 실행 순서도 명확히하는 데 도움이 될 수 있습니다. 하지만 명확하고 빠른 답변을 얻으려면 +1하십시오. 그냥 내기하십시오.
Chris Snowden 2011 년

@Niklas, 대괄호 한 줄 옵션에 대한 내 대답을 참조하십시오.
Chris Snowden 2011 년

@JustinNiessner 감사합니다!
yohannan_sobin

11

플립 플롭을 조금 시도해 보셨습니까?

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

정렬은 이제 숫자가 아니 었습니다. <div가 있었지만 이제 값이 1 일 때 2가 아니라 11을 얻습니다. 따라서 추가되지 않습니다. 1 + 1 = 2
Niklas

8

parseInt에 전달한 1을 더해야한다고 생각합니다.

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

http://jsfiddle.net/GfqMM/



5

Id를 문자열로 구문 분석 한 다음 추가합니다.

예 :

$('.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

나는 다음과 같이 다음 페이지로 이동하기 위해 비슷한 상황에서 작동합니다.

$("#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

5

1을 추가하기 전에 ID를 구문 분석해야합니다.

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

4

여기서 가장 간단한 해결책은

  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

맞습니다. 가장 간단하고 완벽하게 작동합니다.
cssyphus 2013

2

parseInt 솔루션은 무슨 일이 일어나고 있는지 명확하기 때문에 가장 좋은 방법입니다.

완전성을 위해 + 연산자로도 수행 할 수 있음을 언급 할 가치가 있습니다.

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




0

간단하고 최상의 솔루션은 이와 같습니다. 하나의 변수에서 문자열을 가져 와서 아래와 같이 parseInt () 메서드를 사용하여 변환합니다.

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

parseInt () 메서드는이 921795와 같은 숫자를 반환합니다. 그 후에 값에 임의의 숫자를 추가 할 수 있습니다.

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


이 답변은 이미 여러 번 주어졌습니다. 이 답변이 어떻게 다르거 나 더 나은가요?
André Kool 2018 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.