0
 $.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. 

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

这是我将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 中的第一个 theID。我需要想办法解决这个问题。

4

2 回答 2

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>
     ...
   );
});

这样,所有隐藏的输入元素都将具有一个唯一的 id,您稍后会选择它......

于 2012-04-24T16:09:27.297 回答
0

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

于 2012-04-24T16:10:06.800 回答