1


0

テーブルのJquery隠しフィールド

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

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

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

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


7 Answer


3


私は通常idを一致させるためにポジティブルックアップを使います、このメソッドはクライアントIDを要求することを避けます

(idはfooを含みます)$(this).find( "input [id * = 'foo']")。val();


2


あなたはこれのようにそれをすることができました:

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

Benjamin Sterlingによる、この優れた記事 'jQueryの使い方をご覧ください。


2


あなたが今それをセットアップする方法で、あなたはこれをすることができました:

$( 'tr td'、 '#tblOne')。eq(0).find( ':input')。val(); // 1番目のTD $( 'tr td'、 '#tblOne')で入力を見つけるeq(1).find( ':input')。val(); // 2番目のTDで入力を見つける

これを使用すると、入力のClientIDについて心配する必要はありません。


2


単純にこれを使わないのですか?

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


1


「」は「」を生成しますか? なぜあなたはしませんか

$("#foo").val()

?

私はあなたがもう少しうまくやろうとしていることを説明する必要があると思います。 それを見つけたら

$(this).find(":input").val();
  1. 1つの入力がある場合にのみ機能します。おそらくあなたが探しているのは この:

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

しかし現状では、あなたの質問はあまり明確ではありません。 あなたの質問を編集して、あなたが望むものを正確に説明するために時間をかけてください。


1


答えではありませんが、テーブルセル内から隠しフィールド値を取得するのは(もちろんそのテーブルでtablesorterを使用して)信じられないほどの困難を感じていました。

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

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

私も ".live"関数を使っているので、巨大なテーブルでも動作します。

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

HLR


1


私は3つのタブを持ち、それぞれ送信ボタンでポストバックを引き起こします。 送信ボタンのクリックイベントの後、現在のタブを保持したいです。

ステップ1。

タブdivの内側に* asp:HiddenField *を追加しました( 'tabs' divは私のタブの内容を持つ3つのdivすべてを保持します)。


ステップ2。

ポストバックを引き起こす各ボタンのクリックイベントで* sel_tab *の値を更新しました。

保護された無効cmdSaveDailyMeasure_Click(オブジェクトセンダ、EventArgs e){sel_tab.Value = "0";保護された無効cmdSaveWeeklyMeasure_Click(オブジェクトセンダ、EventArgs e){sel_tab.Value = "1";}保護されたvoid cmdSaveMonthlyMeasure_Click(オブジェクトセンダ、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%>の部分は必要ありません。