表中的Jquery隐藏字段

时间:2009-03-31 15:07:43

标签: javascript jquery row html-table hidden-field

我想知道是否有人知道使用jquery在表行中访问隐藏字段(通过客户端ID)的方法。

$("#tblOne").find("tr").click(function() {
            var worker = $(this).find(":input").val();
        });

我发现以上内容适用于只有一个输入的行,但我需要一些帮助来找出通过输入名称获取值的方法。

这是表格行的示例。我如何通过他们的id访问这两个字段?

<table id="tblOne">
<tr>
<td>
    <asp:HiddenField id="hdnfld_Id" Text='<% Eval("ID") %>'></asp:HiddenField>
</td>
<td>
    <asp:HiddenField id="hdnfld_Id2" Text='<% Eval("ID2") %>'></asp:HiddenField>
</td>
</tr> 
</table>

7 个答案:

答案 0 :(得分:3)

我通常使用正向查找来匹配id,此方法避免需要客户端ID

(id包含foo) $(这).find( “输入[ID * = '富']”)VAL();

答案 1 :(得分:2)

你可以这样做:

    $("#tblOne").find("tr").click(function() {
        var election = $(this).find("td").eq(0).html();
        var worker = $(this).find('input[name=theName]').val();
    });

阅读Benjamin Sterling撰写的这篇优秀文章'How to get what you want using jQuery

答案 2 :(得分:2)

按照你现在设置的方式,你可以这样做:

$('tr td', '#tblOne').eq(0).find(':input').val(); // find input in 1st TD
$('tr td', '#tblOne').eq(1).find(':input').val(); // find input in 2nd TD

使用此功能,您无需担心输入的ClientID。

答案 3 :(得分:2)

为什么不简单地使用它:

jQuery("#<%=hdnfld_Id.ClientID%>")

答案 4 :(得分:1)

<asp:HiddenField id="foo">生成<input type="hidden" id="foo"/>不是吗?你为什么不这样做

$("#foo").val()

我认为你需要解释一下你想要做些什么。如果你找到了

$(this).find(":input").val();

...仅在您有一个输入时才有效,也许您正在寻找的是:

$(this).find(":input").each(function() {
  // Prints the value of each input.
  alert($(this).val());
}

但就目前而言,你的问题不是很明确。尝试编辑您的问题并花时间准确解释您想要的内容。

答案 5 :(得分:1)

不是答案,但我在从表格单元格中提取隐藏字段值时遇到了难以置信的困难(当然,在该表格中使用tableorter),所以我很高兴找到这行代码:

$(本).find( “:输入”)。VAL();

并且效果非常好。

我也使用“.live”功能,所以它甚至可以在巨大的桌子上使用。

谢谢!!!

HLR

答案 6 :(得分:1)

我有三个标签,每个标签都有一个提交按钮,导致回发。在提交按钮的单击事件之后,我希望当前选项卡保持不变。

第1步。

在标签div中添加了 asp:HiddenField ('tabs'div保存了包含我的标签内容的所有三个div)。

<asp:HiddenField ID="sel_tab" Value="" runat="server" />

第2步。

使用导致回复的每个按钮的点击事件更新了 sel_tab 的值。

protected void cmdSaveDailyMeasure_Click(object sender, EventArgs e)
{
    sel_tab.Value = "0";
}
protected void cmdSaveWeeklyMeasure_Click(object sender, EventArgs e)
{
    sel_tab.Value = "1";
}
protected void cmdSaveMonthlyMeasure_Click(object sender, EventArgs e)
{
    sel_tab.Value = "2";
}

第3步。 在我的 .js 文件中,我有以下代码

// Tabs
$(document).ready(function() {
    var iSelectedTab = $(this).find("input[id*='sel_tab']").val();
    if (iSelectedTab == null)
        iSelectedTab = 0;    
    $('[id$=tabs]').tabs({ selected: iSelectedTab });
});

即使您使用母版页(我是),这也有效。不需要&lt;%= foo.ClientID%&gt;一部分。