2010-10-15 6 views
5

फिलहाल मैं jQuery UI के स्लाइडर का उपयोग कर रहा हूं ताकि लोगों को दान राशि का चयन करने की अनुमति मिल सके। समस्या यह है कि स्लाइडर छोटा है और कम से कम $ 1 और अधिकतम $ 10,000 की क्षतिपूर्ति करने की आवश्यकता है। प्रस्तावित समाधान $ 1 - $ 1000 के बीच मूल्यों के लिए एक छोटी वृद्धि, शायद $ 1 या $ 2 का उपयोग करना है, और फिर वहां से, $ 10,000 तक बढ़ने के लिए तेजी से बढ़ोतरी करना, लेकिन मुझे इसमें सक्षम प्लगइन नहीं मिल रहा है।स्लाइडर की आवश्यकता है जो तेजी से बढ़ सकती है (सीमा का उपयोग नहीं कर रहा है)

तो अभी मेरे पास $ 1 में वृद्धि हुई है और जैसा कि आपने शायद अनुमान लगाया है, एक निश्चित धन राशि का चयन करना लगभग संभव है।

कोई भी मदद महान होगी!

+2

क्या इस तरह के एक स्लाइडर को एक टेक्स्ट बॉक्स बनाकर कुछ लाभ है जहां राशि टाइप की जा सकती है? एक उपयोगकर्ता के रूप में, मैं एक स्लाइडर के साथ बेवकूफ़ बनाने का समय नहीं लेता अगर मैं इसे टाइप कर सकता हूं। –

+0

[लॉगरिदमिक स्लाइडर] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/846221/logarithmic-slider) –

+0

आपको इसमें भी रुचि हो सकती है: http://forum.jquery.com/topic/non-linear-logarithmic-or-exponential-scale-for-slider –

उत्तर

1

एक स्लाइडर शायद मुझे उस नौकरी के लिए सही उपकरण के रूप में मारता है।

लेकिन यदि आप जोर देते हैं, तो आप स्लाइडर चरण आकार (कहें, 10 संभावित पदों) को बढ़ा सकते हैं और प्रत्येक चरण के लिए जिस राशि से मेल खाती है उसे देख सकते हैं।

उदाहरण:

  • 1 -> 1 $
  • 2 -> 2 $
  • 3 -> 5 $
  • 4 -> 10 $
  • 5 -> $ 50
  • 6 -> 200 $
  • 7 -> 1k $
  • 8 -> 5k $
  • 9 -> 10k $
  • 10 -> 20k $
+0

यह दान आवेदन के लिए सही मैपिंग की तरह लगता है। (और यह बिल्कुल घातीय नहीं है, इसलिए आप किसी प्रकार की लुकअप टेबल का उपयोग करना चाहते हैं।) –

1

@brunodecarvalho के जवाब देने के लिए जोड़ने के लिए, टिक के निशान है, लेकिन कोई लेबल, एक JLabel या एक JTextField इतनी है कि जब साथ जोड़ी इसके साथ एक JSlider बनाने स्लाइडर का मान बदल दिया गया है, उचित मैप किए गए मान JLabel या JTextField में प्रकट होते हैं।

आप एक JTextField उपयोग कर रहे हैं, जो उपयोगकर्ता की वास्तविक दान राशि के रूप में JTextField में मूल्य पर भरोसा एक उचित रूप से पास करने के लिए (इतना है कि वह इसे संपादित कर सकते हैं और उस स्लाइडर पर नहीं है एक मूल्य लेने), और अद्यतन स्लाइडर JTextField परिवर्तनों पर निशान लगाएं।

+1

ठीक है, इसलिए मैंने जावा टैग के कारण जावा क्लास नामों में यह जवाब दिया, लेकिन अब मुझे आश्वस्त है कि जावा टैग गलत है। मैं जवाब को हटा नहीं रहा हूं, क्योंकि पर्याप्त सामान्य कंप्यूटिंग ज्ञान वाले किसी भी व्यक्ति को कक्षा के नामों को अपनी पसंद की भाषा/टूलकिट में अनुवाद करने में सक्षम होना चाहिए। –

0

जैसा कि पहले कहा गया है, आपको स्लाइडर पदों को पैसे की मात्रा में मैप करना होगा। यहाँ एक अच्छा लगभग-लघुगणक मानचित्रण दौर मान देने का अच्छा संपत्ति है कि:

var slider_values = []; 
var mantissas = [1, 1.2, 1.4, 1.6, 1.8, 2, 2.5, 3, 3.5, 4, 4.5, 5, 6, 7, 8, 9]; 
for (var base = 1; base < 10000; base *= 10) { 
    for (var i = 0; i < mantissas.length; i++) 
     slider_values.push(mantissas[i] * base); 
} 
slider_values.push(10000); 

इस रेंज 1 के लिए पूर्णांक रेंज [0..64] नक्शे - 10,000।

संबंधित मुद्दे