2010-05-25 12 views
27

क्या फ्लाई पर jQuery डेटाटेबल्स सेटिंग्स मान बदलना संभव है। मेरी समस्या अगली है, मुझे फ्लाई पर sAjaxSource बदलने की जरूरत है।फ्लाई पर सेटिंग्स मूल्य बदलें?

var oDefault = { 
    "bServerSide": true, 
    "bProcessing": true, 
    "bJQueryUI": true, 
    "bLengthChange": false, 
    "bFilter": true, 
    "iDisplayLength": 8, 
    "sAjaxSource": "my.php?" + "idKat="+aData[3], 
    "aaSorting": [[ 0, "asc" ],[ 3, "asc" ]], 
    "sDom": '<"top"ir>t<"bottom"pf<"clear">', 
    "sPaginationType": "full_numbers", 
    "oLanguage": { 
     "sUrl": "<?php echo $full_path_jezik_2;?>" 
    }, 
    "aoColumns": [ 
     { "sName": "rb","sWidth": "15%", "sClass": "center","sType": "numeric" }, 
     { "sName": "chkZaBrisanje","sWidth": "20%", "sClass": "center", "bSortable":false }, 
     { "sName": "rbPrvaSlika","sWidth": "15%", "sClass": "center","bSortable":false }, 
     { "sName": "nazivSlike","sWidth": "50%", "sClass": "center", "sSortDataType": "dom-text" } 
    ] 
}; 

var oST = $.extend(true, {}, oDefault); 
oST.sAjaxSource = "my.php?" + "idKat="+aData[3]; 

alert(oST.sAjaxSource); 

if (typeof oTable == 'undefined') { 
    oTable = $("#my-table").dataTable(oST); 
} 
else 
{    
    oTable.fnDraw(); 
} 

मेरे aData[3] क्लिक पर बदल गया है: पहले से ही कुछ इस तरह की कोशिश की।

उत्तर

45

आप

oTable = $("#my-table").dataTable(oST); 
var oSettings = oTable.fnSettings(); 
oSettings.sAjaxSource = "new value"; 
+1

टीएनएक्स मैन, यह बात काम करती है, आपको बहुत धन्यवाद। – user147

+0

मेरे लिए काम नहीं करता है, कम से कम 'बीप्रोसेसिंग' के साथ नहीं। –

+2

कभी भी नहीं, यह fnSettings() है। OFeatures.bProcessing, लेकिन अगर यह init के दौरान गलत पर सेट है तो यह fubar लगता है। –

3

की कोशिश की है आप fnReloadAjax() फ़ंक्शन का उपयोग कर सकते हैं, सरकारी datatable साइट पर प्लग-इन को देखते हैं।

1

DataTables 1.10+ लिए :

उपयोग ajax.url() एपीआई पद्धति के रूप में नीचे दिखाया गया है तुरंत नए स्रोत से डेटा अजाक्स URL सेट और लोड करने के लिए:

var table = $('#example').DataTable({ 
    ajax: 'data.json' 
}); 

table.ajax.url('newData.json').load(); 

DataTables 1.9 के लिए:

अजाक्स स्रोत से तालिका के डेटा को पुनः लोड करने के लिए fnReloadAjax() प्लगइन का उपयोग करें। कृपया ध्यान दें कि इस प्लग-इन को बहिष्कृत कर दिया गया है।

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