2014-10-17 60 views
1

我有一个通过循环动态生成的表数据。 td包含一个隐藏字段。下面是对于相同的代码:使用jQuery获取隐藏字段的值​​

<td class="gridtd" id = "r<%=RowNumber%>c<%=ColumnNumber%>"> 
 
<input id="hiddendata" type="hidden" value="<%: item.Key%>"/> 
 
</td>

我需要提取隐藏字段的基础上使用jQuery选择的TD的值。请帮助我获得正确的jQuery代码。

+3

'$( '#hiddendata')VAL();' – Regent 2014-10-17 06:25:54

+0

但也有多个hiddendata作为循环创建多个TD。那么jQuery如何知道哪个是与选中的td对应的正确的隐藏id。 – 2014-10-17 06:29:22

+2

为了让适当的元素选择他们的ID,**必须是唯一的。使用多个相同的ID是一种不好的风格。但在这种情况下,您可以使用IonicăBizău,P5Coder和user3168736答案。 – Regent 2014-10-17 06:30:54

回答

2

只需选择您的输入,并采取值(val()):

$("#hiddendata").val(); 

如果你想利用所有隐藏的输入值:

$("input[type='hidden']").each(function() { 
    console.log($(this).val()); 
}); 

请注意,element ids must be unique

我需要根据使用jQuery选择的td来提取隐藏字段的值。

如果选择你的意思是,点击,你可以简单地传递this所获得的价值时:

$("td").on("click", function() { 
    console.log(
    $("[type='hidden']", this).val() 
    ); 
}); 

为了您的一般知识,如果你这样做$("#hiddendata", this).val();单击处理程序内,它会返回正确的值(即使有多个具有相同值的ID)。

但是绝对的,这个ID必须是唯一的。

+0

谢谢你的回答。我能够获得所有隐藏领域的价值。我现在将根据需要处理结果。 – 2014-10-17 09:27:26

+0

@DebashisPaul酷,不客气! :-) – 2014-10-17 09:29:30

1

使用此:

$('#hiddendata').val(); 
0
$('td').click(
    function(event) 
    { 
     $(event.target).find('#hiddendata').val(); 
    } 
); 

它会给出了基于TD的选择

0

的hiddendata值这将使隐藏字段的选定td值。

$('.gridtd').click(function(){ 
    console.log($(this).find('input').val()); 
}); 
+1

和我一样的理解:) – 2014-10-17 06:31:00

0
$('.gridtd').click(function(){ 
    console.log($(this).find('input[type=hidden]').val()); 
}); 
0

你可以试试这个:

$('.gridtd').each(function(){ 
    var currentId = $(this).attr('id'); 
    var hiddenval = $('#'+currentId).find('input[type=hidden]').val(); 
    alert(hiddenval); 
}) 
相关问题