2013-11-04 196 views
0

我有一个HTML表结构如下:表TD不显示Ajax响应数据

<tr> 
    <td> 
     <a href="javascript:view_note('<?php echo $id; ?>')">View note</a> 
    </td> 
<tr>  
<tr> 
    <td id="abcd" > 
     <span id="hidtb_<?php echo $applicants_r[$i]['id']; ?>"></span> 
    </td> 
</tr> 

我的JavaScript:

function view_note(id) 
{ 
    document.getElementById('abcd').style.display="block"; 
    --------------- 
    -------------- 
    ajaxRequest.onreadystatechange = function(){ 
     if(ajaxRequest.readyState == 4){ 
      var ajaxDiv = document.getElementById('hidtb_'+id); 
      //alert('hidtb_'+id); 
      ajaxDiv.innerHTML = ajaxRequest.responseText; 
     } 
    } 

    var queryString = "?id=" + id; 
    ajaxRequest.open("GET", "view_note.php" + queryString, true); 
    ajaxRequest.send(null); 
} 

但是当我点击查看记录,但它显示了tdabcd,它什么也没有显示!但是当我提醒alert(ajaxRequest.responseText)时,它会提示所需的结果。怎么了?

+0

检查浏览器的控制台中的错误。另外,检查'HTML'中的两个元素('a'和'span')的ID。 –

+1

您确定'$ id'和'$ applicants_r [$ i] ['id']'给出相同的值吗? –

+0

'document.getElementById('abcd')。style.display'应该是'table-cell'而不是'block' – Martial

回答

0

它的<tr id="abcd">由于在css中设置为display:none而导致错误。试试这个:

<tr id="abcd_<?php echo $applicants_r[$i]['id']; ?>" style="display: none"> 
    <td> 
     <span id="hidtb_<?php echo $applicants_r[$i]['id']; ?>"></span> 
    </td> 
</tr> 

的JavaScript/AJAX:

变化

document.getElementById('abcd').style.display="block";


document.getElementById('abcd_'+id).style.display="block";