2012-06-13 102 views
0

我有一个从我的数据库填充的表。 我的目标是当用户从列表中选择另一个元素时,仅使用更新表。如何解析xml从Ajax获取

为此,我使用Ajax。我有我的HTML模板这里我用ajax:

{literal} 
<script type="text/javascript"> 

function refreshToolPrivileges($Object) 
{ 
$.ajax({ 
    url: '/ajax/user_management/refresh_tool_privileges'+$Object, 
    cache: false, 
    dataType: 'xml', 
    success: function(xml) { 
     $(xml).find("Row").each(function(){ 

     });  
    } 
}); 
} 
</script> 
{/literal} 

阿贾克斯调用PHP文件,其中我返回一个格式化XML文件:

$format = 
"\n\t<Row> 
\t\t<group_id>{$fin_array['group_id']}</group_id> 
\t\t<user_id>{$fin_array['user_id']}</user_id> 
\t\t<Object>{$fin_array['Object']}</Object> 
\t\t<Read>{$fin_array['Read']}</Read> 
\t\t<Update>{$fin_array['Update']}</Update> 
\t\t<Insert>{$fin_array['Insert']}</Insert> 
\t\t<Delete>{$fin_array['Delete']}</Delete> 
\t</Row>"; 

echo "<Result>" .$format. "\n</Result>"; 

现在,我不知道该怎么从返回的XML中获取日期并自动更新我的表。

下面是表:

<table width='700px' id="employeetable" class="tablesorter" style='table-layout:fixed;'> 
<thead> 
    <tr> 
     <th>Group Id</th> 
     <th>User Id</th> 
     <th>Object</th> 
     <th>Read</th> 
     <th>Update</th> 
     <th>Insert</th> 
     <th>Delete</th> 
    </tr> 
</thead> 
<tbody> 
    {foreach from=$privileges item=privilegesItem name=foo} 
    <tr> 
     <td>{$privilegesItem['group_id']}</td> 
     <td>{$privilegesItem['user_id']}</td> 
     <td>{$privilegesItem['Object']}</td> 
     <td>{$privilegesItem['Read']}</td> 
     <td>{$privilegesItem['Update']}</td> 
     <td>{$privilegesItem['Insert']}</td> 
     <td>{$privilegesItem['Delete']}</td> 
    </tr> 
    {/foreach} 
</tbody> 
</table> 

回答

0

这里是解决方案:

$.ajax({ 
    url: '/ajax/user_management/refresh_tool_privileges_table/'+$Object, 
    cache: false, 
    dataType: 'xml', 
    success: function(xml) { 
     $(xml).find("Row").each(function(){ 
      //alert('aaa'); 
      var group_id =$(this).find("group_id").text(); 
      var user_id=$(this).find("user_id").text(); 
      var Object=$(this).find("Object").text(); 
      var Read=$(this).find("Read").text(); 
      var Update=$(this).find("Update").text(); 
      var Insert=$(this).find("Insert").text(); 
      var Delete=$(this).find("Delete").text(); 

      $('tbody').remove(); 
      // jquery create a new tbody and insert aftre thead 
      $('#employeetable').append(
        '<tbody>'+ 
        '<tr>'+ 
         '<td>'+group_id+'</td>'+ 
         '<td>'+user_id+'</td>'+ 
         '<td>'+Object+'</td>'+ 
         '<td>'+Read+'</td>'+ 
         '<td>'+Update+'</td>'+ 
         '<td>'+Insert+'</td>'+ 
         '<td>'+Delete+'</td>'+ 
        '</tr>'+ 
        '</tbody>'); 



     });  
    } 
}); 

我去除体内,然后创建一个新的新的变量。