if (($(this)[0].value[$(this)[0].value.length - 1] == 'A' || $(this)[0].value[$(this)[0].value.length - 1] == 'P') && collFormat == 18) {
$(this)[0].value = $(this)[0].value + 'M';
}
मेरे पास 'एम' को समय स्ट्रिंग में जोड़ने के लिए एक jQuery स्क्रिप्ट है उदाहरण के लिए: 'xxx ए' से 'xxx AM'। स्क्रिप्ट IE8, IE9, Firefox में काम करती है लेकिन संगतता मोड में काम नहीं करती है और IE 7. $(this)[0].value[0] IE7 और ब्राउज़र में संगतता मोड में अपरिभाषित है। कृपया वैकल्पिक समाधान प्रदान करें।
अग्रिम धन्यवाद।
2 जवाब
IE में [n]
का उपयोग करके आप एक स्ट्रिंग से अलग-अलग वर्ण प्राप्त नहीं कर सकते। इसके बजाय, आपको charAt
पर कॉल करना चाहिए:
this.value.charAt(this.value.length - 1)
मुझे लगता है कि आप इस तरह कुछ ढूंढ रहे हैं:
$(this).val(function(i, oldVal) { // set the element's value to the return value of this function
var lastChar = oldVal.substr(-1); // get the last character of the current value
return oldVal + // have the original value with something added
(
(lastChar == 'A' || lastChar == 'P') && collFormat == 18) ? // if this is the case
'M' : // add an M
'' // otherwise, add an empty string
);
});
संबंधित सवाल
नए सवाल
jquery
jQuery एक जावास्क्रिप्ट लाइब्रेरी है, जावास्क्रिप्ट टैग को जोड़ने पर भी विचार करें। jQuery एक लोकप्रिय क्रॉस-ब्राउज़र जावास्क्रिप्ट लाइब्रेरी है, जो दस्तावेज़ ऑब्जेक्ट मॉडल (DOM) ट्रैवर्सल, इवेंट हैंडलिंग, एनिमेशन और AJAX इंटरैक्शन को ब्राउज़रों की विसंगतियों को कम करके सुविधाजनक बनाता है। JQuery से संबंधित एक प्रश्न jQuery से संबंधित होना चाहिए, इसलिए jQuery को प्रश्न में कोड द्वारा उपयोग किया जाना चाहिए और कम से कम jQuery के उपयोग से संबंधित तत्वों को प्रश्न में होना चाहिए।
$(this)[0]
लिखने का कोई कारण नहीं है।length
कोई विधि नहीं है और इसका jQuery से कोई लेना-देना नहीं है।$(this)[0]
this
के समान है।