2016-05-20 16 views
0

ここでは、AJAXを使用してjavascript varaibleを渡しています。ここではうまく動作します** console.log(fname); **ここではすべての値を取得しました。テーブルは私がどのようにあなたのJSONの正確な形式を知らなくてもAJAXを使用してテーブルに値を追加する方法

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#reservation").on("change", function() { 
     var reservation = $(this).val(); 
      $.ajax({ 
       type: 'post', 
       url: 'date-range.php', 
       data: { 
        logindate: reservation, 
       }, 
       success: function(data) { 
       var res=jQuery.parseJSON(data);// convert the json 
       console.log(res); 
       if(res['status']=="success"){ 

        var htmlString=''; 

        $.each(res['data'], function(key, value) { 

        htmlString+='<tr>'; 
        var ssm_id = value.ssm_id; // here i got ssmid 
        htmlString+='<td>'+value.ssm_id+'</td>'; 
        htmlString+='<td>'+ $.ajax({ 
        type: 'post', 
        url: 'config/functions.php', 
        data: { 
         ssm_id: ssm_id, 
        }, 
        success: function(fname) { 
        console.log(fname);//HERE I GOT ALL VALUES 
        htmlString+='<td>'+fname+'</td>';// BUT HERE I CAN'T APPENT THE VALUES IN TABLE 
        } 
        });+'</td>'; 
        htmlString+='<td>'+'Muthuraja'+'</td>'; 
        htmlString+='<td>'+'20-05-2016'+'</td>'; 
        htmlString+='<td>'+'status'+'</td>'; 
        htmlString+='<td>'+value.source+'</td>'; 
        htmlString+='<td>'+ "<span style='color:green'>View Profile</span>"+'</td>'; 


        /* htmlString+='<td>'+ "<span style='color:green'>Completed</span>"+'</td>';*/ 

        htmlString+='</tr>'; 
        }); 
        $('#datatable-editable > tbody').empty().append(htmlString); 
       } 
       else{ 
        $('#datatable-editable > tbody').empty().append("<center style='height:100px;padding-top:36px;color:red;font-size:17px;'><b>No matching records found</b></center>"); 
       } 
       } 
      }); 
     }); 
    }); 
    </script> 

のfunctions.php

<?php 

$ssm_id = $_POST['ssm_id']; 
if(!empty($ssm_id)){ 
    echo firstname($ssm_id); 
} 

function firstname($id) 
{ 
    $f="SELECT firstname FROM register WHERE matri_id='$id'"; 
    $rr=mysql_query($f); 
    while($row=mysql_fetch_array($rr)) { 
     $firstname = $row['firstname']; 
    } 
    return $firstname; 
} 
?> 
+0

AJAXコールの応答タイプは何ですか?それは単に文字列か 'JSON'ですか? –

+0

データplsを見ることができますか? –

+1

console.log(fname); //ここではすべての値を取得しました=>出力する内容を入力できますか? –

答えて

0

このエラーを解決することができ、[オブジェクトのオブジェクト]を取得しています意味し、それは決定的な答えを出すのは難しいです。ただし、次の操作を行いますが、その配列の上に、各オブジェクトに対して反復処理する必要があるだろう、あなたはあなたの行を表すオブジェクトのJSON配列を持っていると仮定すると: - 情報の各項目についてvar $tr = $('<tr/>');

新しい<tr>要素を作成します。 (<td>)を作成し、<td>要素を作成し、その内容を設定します。var $td = $('<td/>').html(x.y)(xは現在のオブジェクト、yはオブジェクトのフィールドです)それを行に追加します。$tr.append($td);.
最後の行の前に行を追加します既存のテーブルの行 - $('.list-order tr:last').before($tr);
質問に記載されている追加情報に従って、以下のcあなたがする必要があることをodeが行うべきです:

success: function(result) { 
    //result is json format 
    var $tr = $('<tr/>'); 
    $tr.append($('<td/>').html(result.itemname)); 
    $tr.append($('<td/>').html(result.qty)); 
    $tr.append($('<td/>').html(result.prices)); 
    $('.list-order tr:last').before($tr); 
} 
関連する問題