2012-10-15 81 views
1

查看鏈接在每次額外點擊時向表中添加行。我需要停止ıt。 我有一個JavaScript數組中的2個對象,通過GetVeewData將它傳遞給prIntfeed函數。 當我登錄每個vıewlınk它增加了2行,whıchışfıne。在clıckıngagaınıt之後再添加2個,依此類推。我怎麼能阻止這種功能?Jquery table row add stoping

$(document).ready(function() { 
    $(".anch").click(function(e) {   
    GetViewData(trID); 
}); 

function GetViewData(pid) { 
var data = [ {"FeedID":"10", "TranslateText": "test"}, {"FeedID":"11", "TranslateText": "test"}];   

$.each(data, function (i, item) { 
     printFeed(div, item,TableID); 
}); 

function printFeed(div,item,tableName) {   
     var iTableName = "#" + tableName; 
     var newRow = $("<tr><td>test</td></tr>"); 
     $(iTableName).append(newRow); 

    } 

<a class="anch">view</a> 
<div id="ajaxDiv-1"> 
    <table id="Table2"> 
     <tr><td>test</td></tr> 
    </table> 
</div> 
<a class="anch">view</a> 
<div id="ajaxDiv-1"> 
    <table id="Table3"> 
     <tr><td>test</td></tr> 
    </table> 
</div> 

回答

0

所以,你希望用戶能夠點擊該按鈕只有一次?

如果是這樣你可以使用jQuery .one函數。 http://api.jquery.com/one/

+0

我已經改變了腳本像下面,仍然excutes GetViewData(TRID)功能 當我點擊刪除處理程序(「。para1」)。hide('slow');鏈接「視圖」,由「.anch」選擇 $ 。 $( 「ANCH 」)一個(「 點擊」,函數(){$ ()隱藏()」 PARA1。 「;」。PARA1" $(本).parent()兒童()。的slideToggle(500); $( '#resultTable TR')解除綁定( '點擊')點擊(函數(){VAR TRID = $(本).attr( 'ID') \t \t \t \t \t GetViewData(TRID); \t 格 「)兒童()ATTR(」 ID「) \t \t \t \t \t \t \t \t \t \t \t \t }); \t \t \t \t }); – Metehanson

0

包括使用one()以前發佈的各種方法。這有限制,該處理程序將只運行一次。

您可以有一個條件語句來查看是否需要在處理程序中運行代碼。

var ctr=0; 

$(selector).click(function(){ 
    if(ctr < 3){ 
     /* run code*/ 
    } 
    ctr++; 
}); 

,也可以使用unbind()off()

if(myFavoriteColor === 'Green'){ 
    $(selector).unbind('click') 
} 

$(selector).click(function(){ 
    if(ctr < 3){ 
     /* run code*/ 
    }else{ 
     $(this).unbind('click') 
    } 
    ctr++; 
});