मैंने एक साधारण रूप बनाया है और मैं इसमें डेटा प्रदर्शित करने के लिए डेटाटेबल्स jQuery प्लगइन का उपयोग कर रहा हूं। डेटा को एक php स्क्रिप्ट (process.php) द्वारा पॉप्युलेट किया जा रहा है जो JSON प्रारूप में उचित परिणाम देता है। प्रपत्र में, एक बटन है जो textbox के मान को process.php पर भेजता है। समस्या यह है कि जब मैं बटन पर क्लिक करता हूं तो मैं process.php स्क्रिप्ट द्वारा प्राप्त किए गए नए डेटा के साथ डेटाटेबल को अद्यतन/परिवर्तित नहीं कर सकता।अद्यतन डेटाटेबल्स (JQuery) जब बटन क्लिक किया जाता है
फार्म के कोड:
<form name="myform" id="myform" action="" method="POST">
<label for="id">Enter an id:</label>
<input type="text" name="txtId" id="txtId" value=""/>
<input type="button" id="btnSubmit" name="btnSubmit" value="Search">
</form>
<div id="results">
<table class="display" id="example">
<thead>
<tr>
<th>id</th>
<th>Surname</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<!-- data goes here -->
</tbody>
</table>
</div>
datatable बनाने के लिए, मैं निम्नलिखित JQuery कोड का उपयोग कर रहा:
$(document).ready(function() {
var oTable = $('#example').dataTable({
"sPaginationType": "full_numbers",
"iDisplayLength": 10,
//"bServerSide": true,
"sAjaxSource": "process.php"
});
$("#btnSubmit").click(function(){
$.ajax({
type: "POST",
url: "process.php",
data: 'txtId=' + $("txtId").val(),
success: function(result) {
oTable.fnReloadAjax();
oTable.fnDraw();
}
});
});
});
process.php लिपि (ठीक काम करता है) है:
<?php
$result="";
if (empty($_REQUEST["txtId"])) {
$result = '{"aaData":[["1","Surname1","Name1"]]}';
}
else {
$result = '{"aaData":[["2","Surname2","Name2"]]}';
}
print $result;
?>
** स्ट्रिंग फ़ंक्शंस का उपयोग करके JSON कभी नहीं बनाते **। PHP में 'json_encode() 'है।आपके मामले में, आप 'echo json_encode (array (' aaData '=> सरणी (सरणी (' 1 ',' उपनाम 1 ',' नाम 1 ') का उपयोग करेंगे)); ' – ThiefMaster
हां, मुझे json_encode() funtion के बारे में पता है । उपरोक्त process.php स्क्रिप्ट सादगी कारणों के लिए लिखा गया था। वैसे भी, ThiefMaster! – dimmat