2013-09-01 9 views
5

दर्ज करने पर किसी ईवेंट को कैसे आग लगाना है मैं डेन ग्रॉसमैन के डटेरंगपिकर का उपयोग कर रहा हूं।तिथि सीमा पिकर दिनांक

http://www.dangrossman.info/2012/08/20/a-date-range-picker-for-twitter-bootstrap/

कौन सा अपने वेब पृष्ठ में initialised है, और अब मैं जावास्क्रिप्ट है कि एक बार तिथि उपयोगकर्ता द्वारा दर्ज किया गया है लागू किया जाएगा लिखने की कोशिश कर रहा हूँ। हालांकि मैंने डटेरंगपिकर को एक घटना को आग लगाने में कठिनाई में भाग लिया है।

कोड मैं उपयोग कर रहा हूँ

$('#dateRange').on('changeDate', function(ev){ 
    alert(ev); 
}); 

है और यहाँ कोड है कि daterangepicker initialises विभिन्न तरीकों की

$('#dateRange').daterangepicker({ 
    ranges: { 
     'Today': [moment(), moment()], 
     'Yesterday': [moment().subtract('days', 1), moment().subtract('days', 1)], 
     'Last 7 Days': [moment().subtract('days', 6), moment()], 
     'Last 30 Days': [moment().subtract('days', 29), moment()], 
     'This Month': [moment().startOf('month'), moment().endOf('month')], 
     'Last Month': [moment().subtract('month', 1).startOf('month'), moment().subtract('month', 1).endOf('month')] 
    }, 
    startDate: moment().subtract('days', 29), 
    endDate: moment() 
}, 
function(start, end) { 
    $('#dateRange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY')); 
}); 

मैं कोशिश की है बहुत सारे on.('blur') या की तरह घटना के लिए सुनने के लिए है on.('enter') लेकिन मेरे लिए घटना को फायर नहीं कर रहा है।

function(start, end) { 
    $('#dateRange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY')); 
} 

आप इस समारोह निष्पादित करने के लिए जब कोई उपयोगकर्ता एक तिथि का चयन करता है में किसी भी कोड आप चाहते हैं जोड़ सकते हैं:

उत्तर

6

इस खंड कॉलबैक फ़ंक्शन है। आप स्वयं को कॉलबैक फ़ंक्शन भी परिभाषित कर सकते हैं और इसे डटेरेंज पिकर विधि में पास कर सकते हैं।

उदाहरण:

function myCallback(start, end) { 
    $('#dateRange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY')); 
    alert('hello world'); //etc, your code here 
} 
// attach daterangepicker plugin 
$('#dateRange').daterangepicker(options, myCallback); 

आप भी भी अपने स्वयं के कस्टम ईवेंट हैंडलर को परिभाषित करने और साथ ही कॉलबैक में यह चालू कर सकते।

उदाहरण

$(document).on('myCustomEvent', function() { 
    // your code here 
}); 

$('#dateRange').daterangepicker({ 
// .. // 
function(start, end) { 
    $('#dateRange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY')); 
    $(document).trigger('myCustomEvent'); 
}); 
+1

इतना धन्यवाद। इससे बहुत मदद मिली! –

+0

मैं अपने प्रोजेक्ट के लिए केकफ़्पी और उसी डटेरेंज पिकर का उपयोग कर रहा हूं, मैं इस myCustonevetnt का उपयोग कर नियंत्रक को प्रारंभ और समाप्ति तिथि कैसे भेज सकता हूं? – Aryan

+1

@Neil S, मुझे एक समस्या का सामना करना पड़ रहा है जब मैं daterangepicker में डिफ़ॉल्ट चयनित मान नहीं बदलता, लागू बटन पर क्लिक करते समय कॉलबैक फ़ंक्शन निष्पादित नहीं होता है। क्या इसका कोई समाधान है। – tejashsoni111

4

daterangepicker.com से:

$('#daterange').on('apply.daterangepicker', function(ev, picker) { 
    alert ('hello'); 
}); 
+0

धन्यवाद दोस्त। यह काम कर रहा है :) –

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