2012-06-13 13 views
6

मेरे पास एक JQuery UI दिनांक पिकर है। तिथि के चयन पर, ग्राफ पर डेटा बदलता है।एमवीसी 3.0 JQUERY आंशिक पृष्ठ अद्यतन

मुद्दा यह है कि जब मैं दिनांक पिकर पर दिनांक चुनता हूं, तो संपूर्ण पृष्ठ रीफ्रेश होता है और डेटा पॉप्युलेट हो जाता है।

वैसे भी, क्या मैं टैग पर मौजूद ग्राफ को अपडेट कर सकता हूं? नोट, दिनांक के चयन पर, सर्वर पर jquery पोस्ट और चयनित तिथि के लिए नया डेटा प्राप्त होता है।

मैं सर्वर पर कॉल करने के लिए $.ajax({ }); का उपयोग कर रहा हूं। मैंने सोचा होगा कि यह एक चाल करेगा लेकिन यह मामला नहीं है।

किसी भी मदद की बहुत सराहना की जाएगी।

+0

आप ग्राफ़ अपडेट करने के पृष्ठ ताज़ा से बचने के लिए ajax समारोह लागू करने की आवश्यकता हो सकती है। आप ग्राफ को कैसे अपडेट करते हैं? सर्वर की तरफ? –

+0

जेएसओएन और knockout.js का उपयोग कर ग्राफ अपडेट हो जाता है। अच्छा होगा अगर वैसे भी मैं केओ के साथ डेटा पिकर को हुक कर सकता हूं। –

+0

यदि यह जावास्क्रिप्ट के माध्यम से JSON स्रोत से अपडेट हो जाता है, तो आपको AJAX की आवश्यकता नहीं हो सकती है। "वापसी झूठी" जोड़ने का प्रयास करें फ़ंक्शन के अंत में आप ग्राफ़ को अपडेट करते हैं। यह पोस्टबैक घटना को सर्वर पर रोक देगा। –

उत्तर

1

कुछ की आवश्यकता होगी इस

$('#datepickerid').datepicker({ 
    onSelect: function(dateText, inst) { 
    $.ajax({ ... }); 
    return false; 
    } 
}); 
2

आप की तरह

$('button').click(function(event){ 
    event.preventDefault(); 
    $.ajax({ ... }); 
}); 
4

मैं अपने पद्धतियों का नाम नहीं जानता, divs, बस उसके अनुसार अगर यह मदद करता है को बदलने की कोशिश करें। इस प्रकार कुछ प्रयास करें:

 $("#DateDiv").datepicker({ 
     showOtherMonths: true, 
     selectOtherMonths: true, 
     dateFormat: "yy/mm/dd", 
     onSelect: function (dateText, inst) 
     { 
      UpdateGraph(dateText); 
     }, 
     onChangeMonthYear: function(year, month, inst) 
     { 
      $.ajax({ 
       async: false, 
       cache: false, 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       url: "@Url.Action("LoadGraph", "YourController")", 
       data: 
       { 
        date: new Date(year, month - 1, 1).toString("yyyy/MM/dd") 
       }, 
       success: function (data) 
       { 
$("#UpdateGraphDataDiv").html(data); 
            }, 
       error: function (request, status, error) 
       { 
        DisplayErrorMessageBox(ParseErrorFromResponse(request.responseText, "Unknown error"), true); 
       } 
      }); 
     } 
संबंधित मुद्दे