2012-05-02 9 views
5

मेरे पास jQuery UI में एक स्लाइडर है जहां मेरे पास कुछ पूर्वनिर्धारित मान हैं जिन्हें उपयोगकर्ता चुन सकते हैं। हालांकि, अभी, यह सिर्फ 1-60 से है और मेरे मूल्यों का उपयोग नहीं कर रहा है। मैं निम्नलिखित नंबर हैं: 1,3,5,15,30,60मैं पूर्वनिर्धारित मानों के लिए jQuery UI स्लाइडर स्नैप कैसे बना सकता हूं?

यह मेरा कोड है:

$(document).ready(function(){ 
    var valMap = [1,3,5,15,30,60]; 
    $("#resolution-slider").slider({ 
     min: 1, 
     max: 60, 
     values: [2], 
     slide: function(event, ui) {       
      $("#resolution").val(ui.values[0]);     
      $(".resolution-preview").html(ui.values[0]);     
     }  
    }); 
}); 

मैं कैसे स्लाइडर valMap में मेरी मूल्यों के लिए तस्वीर बना सकते हैं?

+0

कोई ऐसा करने के लिए कार्यक्षमता में बनाया गया है, फिर भी आप ओवरराइड कर सकते हैं अपने मूल्यों को स्नैप करने के लिए 'स्लाइड' ईवेंट। इस प्रश्न में स्वीकृत उत्तरदाता देखें: http://stackoverflow.com/questions/681303/is-there-a-plugin-or-example-of-a-jquery-slider-working-with-non-equably-divisib –

उत्तर

9

क्यों नहीं है:

$(document).ready(function(){ 
    var valMap = [1,3,5,15,30,60]; 
    $("#resolution-slider").slider({ 
     max: valMap.length - 1, // Set "max" attribute to array length 
     min: 0, 
     values: [2], 
     slide: function(event, ui) { 
     $("#resolution").val(valMap[ui.values[0]]); // Fetch selected value from array    
     $(".resolution-preview").html(valMap[ui.values[0]]); 
     } 
    }); 
}); 
+1

यह एक आकर्षण की तरह काम करता है! तक! :) – Elias

2

मुझे लगता है कि तुम क्या चाहते हो, एक नीचे कोड का प्रयास करें:

<div id="slide"></div> 

var valMap = [1,3,5,15,30,60]; 

$("#slide").slider({ 
    max: 60, 
    min: 1, 
    stop: function(event, ui) { 
    console.log(ui.value); 
    }, 
    slide: function(event, ui) { 
    // 1,3,5,15,30,60 
    return $.inArray(ui.value, valMap) != -1; 
    } 
}); 
संबंधित मुद्दे