2013-03-12 11 views
6

मैं डी 3 के साथ-साथ जावास्क्रिप्ट के लिए नया हूं, और मुझे डेटासेट अपडेट करने में कठिनाई हो रही है, साथ ही सलाखों को फिर से निकालना भी है। यह वह कोड है जिसे मैं अब तक देख रहा हूं।डी 3 अपडेट डेटासेट पर क्लिक करें और बार चार्ट

http://jsfiddle.net/TwEhT/2/

मुझे लगता है कि किसी भी बार पर एक क्लिक पर पैदा की है एक समारोह clickEvent है,। यह फ़ंक्शन एक मान के लिए संकेत देता है।

function clickEvent() 
{ 
    var op = prompt("Please enter the value", ""); 
}; 

मैं क्या करने की जरूरत क्लिक के सूचकांक में डाटासेट अद्यतन करते हैं, और rects पुनः बनाने का इतना है कि वे डाटासेट परिवर्तन दिखाई देने लगेगा है।

किसी भी मदद की सराहना की जाएगी। धन्यवाद।

+0

आप 'कि से कुछ return'ing' clickEvent' समारोह (या, शायद, अपने 'dataset' में एक सरणी सूचकांक मान बदलने में देखने का प्रयास कर सकते हैं कहीं भी 'clickEvent' फ़ंक्शन के अंदर/उससे संबंधित) ताकि मूल्य आपके डेटासेट/ग्राफ़ में दिखाई दे। – summea

उत्तर

10

एक बहुत ही सरल उदाहरण के लिए, आप डेटासेट को सीधे अपडेट कर सकते हैं, और बार ड्राइंग कोड को रेंडर() फ़ंक्शन में डाल सकते हैं जिसे आप परिवर्तनों को फिर से प्रस्तुत करने के लिए कॉल कर सकते हैं।

var dataset = [...]; 

function render() { 
    // bind dataset to rects and draw here 
} 

function clickEvent(d, i) { 
    var op = prompt("Please enter the value", d); 
    dataset[i] = parseInt(op, 10); 
    render(); 
}; 

अपने कोड में एक चल उदाहरण है: http://jsfiddle.net/findango/TwEhT/4/

+0

धन्यवाद! यही वही है जो मुझे चाहिए :) – user2159121

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