2012-10-15 45 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++; 
});