私は初心者であり、Ajax 成功呼び出し内で jQuery データテーブルをロードおよび更新する完全な動作例が必要です。jqueryデータテーブルが読み込まれたダイアログを開きたいです。ダイアログは、ajax の結果が複数のレコードを返す場合にのみ開く必要があります。
ダイアログの HTML は次のとおりです。
<div id="rfrList" title="Referring Providers">
<table cellpadding="0" cellspacing="0" border="0" class="display" id="rfrListTable">
<thead>
<tr>
<th width="70%">Name</th>
<th width="25%">NPI</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
そして、これが私の Ajax Call です。
$.ajax({
type: 'POST',
url: '/ajax/rfr_list.php',
data: {"name": name},
cache: false,
success: function(data){
var rfrRows = $.parseJSON(data);
if(rfrRows.length == 1){
$("#referring_text").val(rfrRows[0].name);
$("#referring_npi").val(rfrRows[0].npi);
}else{
$( "#rfrList" ).dialog("open");
var $rfrTable = $('#rfrListTable').dataTable( { bRetrieve : true } );
$rfrTable.fnDraw(); // I need my ajax result in table now
}
}
});
私のajax結果をデータテーブルに到達させる方法がわかりません。
編集: ajax 呼び出しは多くのレコードを返しますが、テーブルに結果が表示されません。
データを返す PHP コードを次に示します。
$stmt->set_qry_str($sql);
$retval = $stmt->exec();
if($retval === false){
// toLogger
}else{
$rows = array();
while($stmt->fetchAssocNext()){ // This function returns associative array
$rows[] = $stmt->get_resultRow();
}
print json_encode($rows);
}
そして、これが応答のfirebugスナップショットです。
[{"npi":"1","名前":"スタン、XXX"},{"npi":"1212121212","名前":"スタンリー、YYY"},{"npi":"0123456789", "name":"Schaeffer Scott S"}]