Wednesday 15 June 2011

html - Is it possible to have AngularJS internationalize numeric inputs? -


हम AngularJS को & lt; इनपुट प्रकार = 'संख्या' / & gt; मान।

हमने स्थानीयकरण फ़ाइल (जैसे angular-locale_it-it.js ) को शामिल किया है, लेकिन अंग्रेजी लोकेल का उपयोग करके मान अभी भी प्रदर्शित किए जाते हैं।

< P> यह एक समस्या है क्योंकि हमारे बैक-एंड (और प्रबंधन) को उपयोगकर्ता के लोकेल में संख्यात्मक मान होने की उम्मीद है, और 123.45 के बजाय 123.45 प्राप्त करने में त्रुटि होती है ।

आप एक उदाहरण पा सकते हैं।

यह क्रोम में काम करता है

 क्रोम में परिणाम का स्क्रीनशॉट

लेकिन यह फ़ायरफ़ॉक्स 21 और इंटरनेट एक्सप्लोरर 10 में काम नहीं कर रहा है।

 फ़ायरफ़ॉक्स में परिणाम का स्क्रीनशॉट

< P> यह आपके द्वारा अपेक्षित उत्तर नहीं हो सकता है, लेकिन हो सकता है कि यह आपकी सहायता करता है:

जेएसबीन:

एक निर्देश का उपयोग करके आप कर सकते हैं इनपुट का डेटा लें, इसे पार्स करें और फिर इसे $ scope चर में डाल दें। कृपया देखें: ( $ पार्सर और $ फ़ॉर्मेटर्स मैंने इसे से लिया है:)।

निर्देश एक अल्पविराम के लिए खोज सकता है और उसे डॉट के साथ बदल सकता है। यह इस तरह दिख सकता है:

  कोणीय। मॉड्यूल ('MyModule')। निर्देश ('संख्याइनपुट', फ़ंक्शन () {वापसी {प्रतिबंधित: 'ए', आवश्यकता: 'एनजीएमोडेल', लिंक : फ़ंक्शन (स्कोप, एलीमेंट, एटर्स, एनजीएमडेल कंट्रोलर) {एनजी मॉोडेल कंट्रोलर। पेडर। पीश (फ़ंक्शन (डेटा) {// फॉर्मैट फॉर्मेट से मॉडल फॉर्मेट रिटर्न डेटा में डेटा कन्वर्ट। (',', '।'); // कनवर्ट किया हुआ}}; ngModelController। $ Formatters.push (फ़ंक्शन (डेटा) {// प्रारूप रिटर्न डेटा देखने के लिए मॉडल प्रारूप से डेटा कन्वर्ट। ('।', ','); // परिवर्तित}); // http: //docs.angularjs.org/api/ng.directive:ngModel.NgModelController}}}});   

इनपुट फ़ील्ड:

  & lt; input ng-model = 'value' type = 'text' numberinput = '' / & gt;   

यह भी ध्यान रखें कि इनपुट अब एक टेक्स्ट फ़ील्ड है। इस पर एक नज़र डालें:

इनपुट एक नंबर फ़ील्ड है। लेकिन प्रकार 11,5 और यह आउटपुट ¹ ndfined होगा (ध्यान दें कि मैं जर्मनी में रहता हूं और हम अल्पविराम का उपयोग कर रहे हैं)। तो ब्राउज़र सही संख्या को 'पार्स' नहीं करता है यदि यह डॉट-नोटेशन में नहीं है, भले ही आप अल्पविराम के साथ क्षेत्रों में रहते हों ...

कृपया मुझे सही करें, अगर इसमें कुछ गड़बड़ है ;)

No comments:

Post a Comment