1

jqueryを使用してテーブル行内の非表示フィールドに(クライアントIDで)アクセスする方法を誰かが知っているかどうか疑問に思いました。

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

上記は入力が1つしかない行で機能することがわかりましたが、入力名で値を取得する方法を理解するために助けが必要です。

これがテーブル行の例です。IDで2つのフィールドにアクセスするにはどうすればよいですか?

<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>
4

7 に答える 7

3

私は通常、正のルックアップを使用して ID を照合します。この方法では、クライアント ID を必要としません。

(id に foo が含まれる) $(this).find("input[id*='foo']").val();

于 2010-11-10T15:48:33.007 に答える
2

単純にこれを使用してみませんか:

jQuery("#<%=hdnfld_Id.ClientID%>")
于 2009-08-26T13:27:29.747 に答える
2

次のようにできます。

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

Benjamin Sterling によるこの優れた記事「jQuery を使用して必要なものを取得する方法」を読んでください。

于 2009-03-31T15:17:04.427 に答える
1

答えではありませんが、テーブルセル内から非表示フィールドの値を取得するのに非常に苦労していました(もちろん、そのテーブルでtablesorterを使用)。そのため、次のコード行を見つけてとてもうれしく思います。

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

そしてそれは素晴らしく機能します。

「.live」関数も使用しているので、巨大なテーブルでも機能します。

ありがとうございました!!!

HLR

于 2010-12-22T02:46:04.553 に答える
1

それぞれに [送信] ボタンがあり、ポストバックが発生する 3 つのタブがあります。送信ボタンのクリック イベントの後、現在のタブを維持したいと考えています。

ステップ1。

tabs div 内にasp:HiddenFieldを追加しました(「tabs」div は、タブのコンテンツを含む 3 つの 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 });
});

これは、マスター ページを使用している場合でも機能します (私はそうです)。<%=foo.ClientID%> の部分は必要ありません。

于 2011-02-01T20:32:13.847 に答える