jquery传递唯一的id没有形式

时间:2012-04-24 15:52:41

标签: jquery

 $.each(thedata.data, function() {    
 $('#theReturnFormTable').append(         
 '<tr id="newReturn"><td align="center"><a href="##" id="link">'+ this.newrequestor
 +'<input type="hidden" id="theID" value="'+ this.theid +'"></a></td><td
 align="center">'+ this.newthedate +'</td><td>'+ this.theid +'</td><td
 align="center">'+ this.newapproved +'</td>
 <td align="center">'+ this.newsecurityaction +'</td></tr>'
 );
 });

结果:

requestor=dave theID = 75
requestor=frank theID = 76
requestor=bill theID = 77
requestor=george theID = 78
requestor=sam theID = 79 and so on. 

我在每一行都有链接,无论我点击哪一行而不是传递该行的ID值,它都会抓取ID = 75。我有脑冻结。任何想法如何传递每行的ID值?

这是我将ID传递给

的地方
$("#link").live("click", function(){   
//show layer Div
$("#theHover").show();
alert($("#theID").val());
var instance = new readers_cls();
var theID = $("#theID").val();

newdata = instance.getRequestSecurity(theID);
newrooms = instance.getRequestSecurityRooms(theID);
newcust = instance.getRequestSecurityCust(theID);

我知道它只是下到页面并抓取html中的第一个ID。我需要想办法解决这个问题。

2 个答案:

答案 0 :(得分:0)

你在你发布的第一个循环中创建了多个id为'theID'的元素,这并不好。为什么不在那里创建具有正确ID的元素,然后:

$.each(thedata.data, function() {    
   $('#theReturnFormTable').append(         
     '<tr id="newReturn"><td align="center"><a href="##" id="link">'+ this.newrequestor
     +'<input type="hidden" id="id_'+this.theid'" value="'+ this.theid +'"></a></td>
     ...
   );
});

这样所有隐藏的输入元素都会有一个uniqui id,你稍后会选择...

答案 1 :(得分:0)

我认为这是因为您为所有元素提供了非唯一ID(因为您在该代码中分配了静态ID)。使用类和“this”关键字。