2012-09-24 11 views
6

मैं कुछ अच्छे ग्राफ बनाने के लिए JQuery Knob का उपयोग कर रहा हूं और यह पूरी तरह से काम कर रहा है। लेकिन मुझे एक समस्या है: मैं ग्राफ के बीच प्रदर्शन संख्या को '%' प्रतीक समेकित करना चाहता हूं। लेकिन मैं इसे काम करने के लिए प्रतीत नहीं कर सकता। Jquery के माध्यम से इनपुट को संशोधित करना ऐसा नहीं करता है, और मैंने लाइब्रेरी के कोड में पढ़ने की कोशिश की है लेकिन बिना किसी किस्मत के। क्या किसी और को इससे पहले समस्या थी?JQuery Knob प्रदर्शन संख्या परिवर्तन

+1

क्या आप दिखा सकते हैं कि आपने क्या प्रयास किया है? इससे आपकी मदद करने की कोशिश करने वाले किसी को भी फायदा होगा। – Erik

+0

JQuery के साथ बदलते हुए इनपुट के मान को मैंने ग्राफ के लिए इस्तेमाल किए जाने के बाद उपयोग किया, अंत में '%' जोड़कर, लेकिन ऐसा नहीं किया। परीक्षण करने के लिए फ़ायरबग का उपयोग कर मैन्युअल रूप से मूल्य बदलने की कोशिश कर रहा है, लेकिन यह भी नहीं किया। मैंने घुंडी स्रोत कोड खोला, लेकिन वे बहुत सारे एचटीएमएल 5 के साथ काम करते हैं, जिसमें मुझे ज्ञान की कमी है, सफलता के बिना कुछ मूल्यों में '%' जोड़ने की कोशिश की गई ... –

उत्तर

30

यदि आप जिथब रेपो पर एक त्वरित नज़र डालें तो आप देखेंगे कि ड्रॉ हुक है जिसे हर बार कैनवास खींचा जाता है। यदि आप उस हुक को लागू करते हैं तो आप जो कुछ भी इनपुट करना चाहते हैं उसे जोड़ सकते हैं। (यह कोशिश करने के लिए: http://jsfiddle.net/eAQA2/) यहाँ कार्यक्षमता आप देख रहे हैं की एक छोटी सी उदाहरण है और भविष्य में संदर्भ के लिए:

मेरे समाधान जोड़कर इस करता है:

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
<script src="https://raw.github.com/aterrien/jQuery-Knob/master/js/jquery.knob.js"></script> 
<script> 
$(function() { 
    $(".dial").knob({ 
     'draw' : function() { 
     $(this.i).val(this.cv + '%') 
     } 
    }) 
}) 
</script> 
</head> 
<body> 
<input type="text" class="dial" data-min="0" data-max="100"> 
</body> 
</html>​ 
2

मैं एनीमेशन के साथ भी इस लक्ष्य को हासिल करने में कामयाब रहे प्रतिशत हर बार मूल्य वृद्धि हुई हो जाता है:

$(function() { 
     $('.dial_overall').each(function() { 

      var $this = $(this); 
      var myVal = $this.attr("value"); 

      $this.knob({ 
      }); 

      $({ 
       value: 0 
      }).animate({ 

       value: myVal 
      }, { 
       duration: 1600, 
       easing: 'swing', 
       step: function() { 
        $this.val(Math.ceil(this.value)).trigger('change'); 
        $('.dial_overall').val($('.dial_overall').val() + '%'); 
       } 

      }) 
     }); 

    }); 
5

संस्करण 1.2.7 के रूप में वहाँ अब है इस तरह कार्य प्रदर्शन के लिए एक format हुक:

$(".dial").knob({ 
    'format' : function (value) { 
    return value + '%'; 
    } 
}); 
संबंधित मुद्दे