2011-09-22 3 views
5

पर मैं JQuery डेटाटेबल्स TableTools प्लगइन का उपयोग कर रहा हूं और पीडीएफ के लिए एक डिफ़ॉल्ट फ़ाइल नाम परिभाषित कर रहा हूं। हालांकि, मैं AJAX के साथ डेटाटेबल्स का उपयोग कर रहा हूं, और दिनांक सीमा चयनकर्ता है, इसलिए पृष्ठ रीफ्रेश नहीं किया गया है और इसलिए जब मानदंड बदलता है तो मैं एक नया डिफ़ॉल्ट फ़ाइल नाम प्रदान करने में असमर्थ हूं।डेटाटेबल्स को संशोधित करें TableTools डिफ़ॉल्ट पीडीएफ निर्यात फ़ाइल नाम रनटाइम

क्या कोई जानता है कि मैं रनटाइम पर डिफ़ॉल्ट फ़ाइल नाम कैसे बदल सकता हूं, डेटाटेबल्स को टेबल टूल्स के साथ प्रारंभ करने के बाद, क्या मैं सीधे कॉन्फ़िगरेशन को संशोधित करता हूं?

   "oTableTools": { 
       "sSwfPath": "js/DataTables/copy_cvs_xls_pdf.swf", 


       "aButtons": [ 
        "copy", 
        "csv", 
        "xls", 
        { 
         "sExtends": "pdf", 
         "sTitle": "Report Name", 
         "sPdfMessage": "Summary Info", 
         "sFileName": "<?php print('How do i use jquery to change this after the table has been initialized'); ?>.pdf", 
         "sPdfOrientation": "landscape" 
        }, 
        "print" 
       ] 

      } 

उत्तर

9

मुझे लगता है कि आप कुछ गतिशील रूप से जेनरेट किए गए नाम चाहते हैं। एक फ़ंक्शन बनाएं जो (स्ट्रिंग) फ़ाइल नाम देता है।

function getCustomFileName(){ 
    var docDate = $("#from").val(); 
    var filter = $("#example_filter input").val(); 
    var oSettings = oTable.fnSettings(); 
    var fileName = docDate+"_"+filter; 
    return fileName; 
} 

और $(document).ready लेकिन बाहर $('#dTable').dataTable({ }) अंदर समारोह का उपयोग करें।

"oTableTools": { 
       "sSwfPath": "js/DataTables/copy_cvs_xls_pdf.swf", 
       "aButtons": [ 
        "copy", 
        "csv", 
        "xls", 
        { 
         "sExtends": "pdf", 
         "sTitle": "Report Name", 
         "sPdfMessage": "Summary Info", 
         "sPdfOrientation": "landscape" 

         "fnClick": function(nButton, oConfig, flash) 
         { 
          customName = getCustomFileName()+".pdf"; 
          flash.setFileName(customName); 
          this.fnSetText(flash, 
           "title:"+ this.fnGetTitle(oConfig) +"\n"+ 
           "message:"+ oConfig.sPdfMessage +"\n"+ 
           "colWidth:"+ this.fnCalcColRatios(oConfig) +"\n"+ 
           "orientation:"+ oConfig.sPdfOrientation +"\n"+ 
           "size:"+ oConfig.sPdfSize +"\n"+ 
           "--/TableToolsOpts--\n" + 
           this.fnGetTableData(oConfig) 
          ); 
         }       
        }, 
        "print" 
       ] 

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