2013-04-05 64 views
1

这是我的jquery功能使用jquery追加表多次

var status; 
$('.status').click(function(e) { 
    status= $(this).attr('id');      
    //$('#test').html('<p>Scrolled: '+ status +'</p>');     
    callAjax(); 
    display(); 
}); 

上述该函数获得超级引用的ID点击并且将其存储在变量中。 并呼叫其他功能。

var id = []; 
var values = []; 
function callAjax(){    
    id = []; 
    values = []; 
    $("#"+ status +"> td").each(function(index){     
    id.push($(this).attr("id")) 
    values.push($(this).text()); 
    //alert($(this).attr("id")+" "+$(this).text());       
    });   
} 

此功能上面从retrives行并且将其存储的所有值在array.Using这个数组值我将创建一个新的表和被点击该超链接下面显示它(其DIV存储状态变量)

function display(){    
      $("#"+status).append('<table id="newtable" border="1"> <tr> <td>'+values[0]+'</td><td>'+values[1]+'</td></tr></table>'); 
    } 

显示器()函数,当我第一次附加表的工作正常,但再次被点击时链接它附加一个多表。

输出

enter image description here

这里的时候,我上链接第一次点击它正确显示表,但是当我点击了追加同桌和第二个问题是相同的链接时,我点击其他链接第一张桌子应该消失。

帮助...

+0

您是否希望下次单击替换旧表,还是希望将结果添加到现有表中? – JJJ 2013-04-05 11:38:35

+0

这正是你的代码所说的那样...每当函数显示被调用时追加一个表。尝试删除任何以前的附加。 – 2013-04-05 11:39:19

+0

我会上传一张图片 – Azuu 2013-04-05 11:48:58

回答

2

试试这个

function display(){ 
     $("#newtable").remove(); //removes table tag   
    $("#"+status).append('<table id="newtable" border="1"> <tr> <td>'+values[0]+'</td>        <td>'+values[1]+'</td></tr></table>'); 
    } 
+0

偶空替换我想追加的标签 – Azuu 2013-04-05 11:46:14

+0

@Azuu空将删除'$(“#”+ status)中的所有标签'For [Reference](http://api.jquery.com/empty/ ) – karthick 2013-04-05 11:50:24

+0

这就是我不想要的,在这里我有一个不应该变空 – Azuu 2013-04-05 11:53:57

1

清除$("#"+status)追加前。

function display(){  
$("#"+status).clear();  
$("#"+status).append('<table id="newtable" border="1"> 
       <tr> <td>'+values[0]+'</td><td>'+values[1]+'</td></tr></table>'); 
     } 

或@juhana在评论中提到

function display(){  
    $("#"+status).html('<table id="newtable" border="1"> 
       <tr> <td>'+values[0]+'</td><td>'+values[1]+'</td></tr></table>'); 
      } 
+0

我想这是有效的,但将'.append()'换成'.html()'会容易得多。 – JJJ 2013-04-05 11:38:56

+0

clear()不工作..即使一次,它不显示表,当我使用.empty()它取代我想追加的ID。 – Azuu 2013-04-05 11:48:24

0

第一清除div和追加div.append意味着只是追加你给前笏:在div包含文本1意味着如果你追加在TEST2意味着它会追加测试1测试2一样明智üjsust清除div和附加价值

function display(){ 
       $("#"+status).empty();   
       $("#"+status).append('<table id="newtable" border="1"> <tr> <td>'+values[0]+'</td><td>'+values[1]+'</td></tr></table>'); 
      }