2011-09-23 10 views
14

हमारे पास एक ui स्लाइडर है जिसका हम उपयोग करते हैं, और यह बेकार ढंग से काम करता है।ui स्लाइडर टेक्स्ट बॉक्स इनपुट

कोड:

jQuery(function() { 
jQuery("#slider-range-min").slider({ 
    range: "min", 
    value: 1, 
    step: 1000, 
    min: 0, 
    max: 5000000, 
    slide: function(event, ui) { 
     jQuery("#amount").val("$" + ui.value); 
    } 
}); 
jQuery("#amount").val("$" + $("#slider-range-min").slider("value")); 
}); 

आप देख सकते हैं हम उपयोगकर्ता 0 और 5,000,000 के बीच कुछ भी चुन सकते हैं।

HTML है:

<div id="slider-range-min" style="width: 460px; float:left;margin:10px;"></div> 

मुझे क्या करना चाहते हैं एक पाठ इनपुट तत्व है जो स्लाइडर के साथ सद्भाव में काम करता है, को जोड़ने है, तो उपयोगकर्ता स्लाइड के रूप में texy बॉक्स बढ़ जाती है, कम हो जाती है जो कुछ भी ..

या यदि उपयोगकर्ता इनपुट तत्व में संख्या टाइप करता है तो स्लाइडर उचित रूप से चलता है।

कोई मदद कृपया?

पूर्वावलोकन है:

enter image description here

+1

मुझे लगता है कि आप [निश्चित न्यूनतम उदाहरण के साथ सीमा] का उपयोग करके कुछ चाबुक कर सकते हैं (http://jqueryui.com/demos/slider/hotelrooms.html)। –

+0

धन्यवाद @rfausak इसे देखेगा – 422

+0

एफवाईआई: यह भी पाया गया कि फिलामेंट समूह ने इसे हासिल किया है, लेकिन प्रतीत होता है कि वे केवल एक ही हैं .. http://www.filamentgroup.com/lab/update_jquery_ui_slider_from_a_select_element_now_with_aria_support/ otehrs – 422

उत्तर

24

आप input तत्व (जैसे आप #amount तत्व के लिए अब कर रहे हैं) slide पर अद्यतन करने की आवश्यकता: इसके अतिरिक्त

$("#slider").slider({ 
    range: "min", 
    value: 1, 
    step: 1000, 
    min: 0, 
    max: 5000000, 
    slide: function(event, ui) { 
     $("input").val("$" + ui.value); 
    } 
}); 

, आप की जरूरत है input तत्व के लिए change ईवेंट से जुड़ें और स्लाइडर के value विधि को कॉल करें:

$("input").change(function() { 
    var value = this.value.substring(1); 
    console.log(value); 
    $("#slider").slider("value", parseInt(value)); 
}); 

उदाहरण:http://jsfiddle.net/andrewwhitaker/MD3mX/

कोई सत्यापन यहां चल रहा है (यदि आप "$" शामिल करना चाहिए यह काम करने के लिए साइन इन करें)। आप इसे बढ़ाने के लिए कुछ और मजबूत इनपुट स्वच्छता जोड़ सकते हैं।

+0

महान देखना चाहता है एंड्रयू, एकमात्र मुद्दा जो मैं देखता हूं वह उपयोगकर्ता इनपुट तत्व में टाइप नहीं कर सकता है और जब तक आप इनपुट से बाहर नहीं जाते, तब तक स्लाइडर उस मूल्यवान स्थिति पर जाता है। मुझे लगता है कि ऑनकीप जोड़ सकते हैं .. लेकिन महान कोड, – 422

+0

@ 422 को वोट दिया गया: यह * काम * करना चाहिए, आपको इसे देखने के लिए एक बड़ा मूल्य दर्ज करना पड़ सकता है (उदाहरण के लिए ** $ 3000000 ** ** कोशिश करें) –

+0

div को

में बदल दिया और जब भी आप टाइप करते हैं, तब भी ऑटो अपडेट नहीं होते हैं, यहां तक ​​कि बड़ी संख्या के साथ भी। जब तक यह एक jsfiddle मुद्दा नहीं है, तो एचटीएमएल पर पोर्ट होगा और – 422