2012-04-30 2 views
5
$('#foo').slider({ 
    range: 'min', 
    min: 0, 
    max: 1000, 
    step: 100, 
    value: 500, 
    create: function(event, ui) { 
      var bar = ui.value; 
    }, 
    //etc... 
}); 

bar क्यों अपरिभाषित है और 500 नहीं है? क्या create ईवेंट में value पर एक वैरिएबल असाइन करना संभव है?jQuery UI स्लाइडर पर ईवेंट बनाने में मूल्य उपलब्ध नहीं है?

+1

ऊपर कोड क्यों कहने के लिए पर्याप्त नहीं है। 'निर्माण' कैसे किया जा रहा है? – Tejs

+0

जहां परिभाषित किया गया है ... कृपया पूर्ण स्रोत –

+2

पोस्ट करें यह jquery-ui में अंतर्निहित कॉलबैक है। यह अच्छी तरह से प्रलेखित है। मुझे नहीं लगता कि उसे स्रोत पोस्ट करना होगा। –

उत्तर

9

तुम भी उपयोग कर सकते हैं

create: function(e, ui) { 
    var bar=$(this).slider('value'); 
} 

DEMO.

+1

धन्यवाद। मैं अभी भी उलझन में हूं कि क्यों 'ui.value' काम नहीं करता है, लेकिन यह मेरे लिए काम करता है। – jaacob

+0

आपका स्वागत है :-) यहां 'विधियों' अनुभाग में http://jqueryui.com/demos/slider/ वर्णित है। –

+0

किसी कारण से मेरे मामले में कॉलबैक बनाने का आह्वान नहीं किया गया था, इसलिए मुझे स्लाइडर $ ('स्लाइडर') बनाने से पहले ईवेंट मूनली को बांधना पड़ा। ('Create', function (event, ui) {...}); और फिर $ ('स्लाइडर') स्लाइडर बनाने के बाद मैन्युअल रूप से निर्माण ईवेंट को ट्रिगर करें। स्लाइडर()। ट्रिगर ('बनाएं'); – blushrt

1

मैं सच में यकीन है कि तुम क्यों मूल्य जब आप स्लाइडर instantiating रहे हैं जब से तुम इसे किसी तरह स्थापित कर रहे हैं प्राप्त करने की आवश्यकता होगी नहीं कर रहा हूँ, लेकिन आप इसे इस तरह से कर सकते हैं:

$('#foo').slider({ 
    range: 'min', 
    min: 0, 
    max: 1000, 
    step: 100, 
    value: 500, 
    create: function(event, ui) { 
      var bar = $('#foo').slider("value"); 
    }, 
    //etc... 
});​ 

jsFiddle example

+0

आपको उस मान की आवश्यकता हो सकती है यदि उदाहरण के लिए आप वर्तमान मूल्य दिखाने के लिए हैंडल पर स्थायी टूलटिप का उपयोग कर रहे हैं। आदर्श रूप से आप केवल स्लाइडर के लिए मान निर्धारित करेंगे और स्लाइडर बनने के बाद टूलटिप को तुरंत चालू करेंगे (यानी "बनाएं" कॉलबैक का उपयोग करके)। –

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