स्ट्रिंग को संख्या में बदलें और एक जोड़ें


94

मैं आईडी से प्राप्त मूल्य को एक संख्या में बदलना चाहता हूं और इसमें एक जोड़ना चाहता हूं फिर 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();
});

जवाबों:


189

आपको सही मानते हुए और आपकी आईडी एक उचित संख्या है (किसी अन्य पाठ के बिना), आपको आईडी को पार्स करना चाहिए और फिर उसमें जोड़ना चाहिए:

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

doSomething(currentPage);

1
@ जस्टिन निस्नेयर, आप + 1पहले से ++अधिक कॉम्पैक्ट होने के लिए दूसरी लाइन पर प्री-इंक्रीमेंटर का उपयोग करने के बजाय पहली पंक्ति के अंत में भी कर सकते हैं ।
क्रिस स्नोडेन

@ क्रिस - आप कर सकते थे लेकिन मैं चाहता था कि उदाहरण स्पष्ट हो कि पहले कौन सा ऑपरेशन हो रहा था।
जस्टिन निस्नर 13

@ जस्टिन नेसनेर, काफी निष्पक्ष। ब्रैकेट निष्पादन के आदेश को भी स्पष्ट करने में मदद कर सकते हैं। हालांकि एक स्पष्ट त्वरित उत्तर के लिए +1। बस मुझे यह शर्त।
क्रिस स्नोडेन

@ निक्लेस, ब्रैकेटेड एक लाइन विकल्प के लिए मेरा उत्तर देखें।
क्रिस स्नोडेन

@JustinNiessner धन्यवाद!
योहनन_सोबिन

11

क्या आपने इसे थोड़ा सा फ्लिप करने की कोशिश की है?

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

सॉर्ट यह अब एक संख्या नहीं थी <div इसमें थी लेकिन मुझे अब 11 नहीं 2 मिलता है जब मूल्य 1 होता है। इसलिए इसे 1 + 1 = 2 नहीं जोड़ा जाता है
निकल्स

8

मेरा मानना ​​है कि आपको इसे पार्सइंट में पास करने के बाद 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 को Parse करें क्योंकि यह स्ट्रिंग होगा और फिर जोड़ देगा।

जैसे

$('.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 जोड़ने से पहले आईडी को पार्स करना होगा

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

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

http://try.jquery.com/levels/4/challenges/16 से एक अच्छा तरीका है :

+ जोड़ रहा हैparseInt और parseFloat और मूलांक और मूलांक का उपयोग किए बिना स्ट्रिंग से पहले मुझे लापता मूलांक पैरामीटर के लिए सामना करना पड़ा

नमूना

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


0

सरल और सबसे अच्छा समाधान इस तरह है। एक चर में एक स्ट्रिंग लें और फिर इसे नीचे की तरह parseInt () विधि का उपयोग करके परिवर्तित करें।

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

parseInt () विधि 921795 की तरह इस नंबर को वापस करेगी। इसके बाद, आप अपने मूल्य में कोई भी संख्या जोड़ सकते हैं।

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


इस उत्तर को पहले ही कई बार मुल्टू दिया जा चुका है। यह उत्तर अलग / बेहतर कैसे है?
आंद्रे कूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.