1

IDが「 ResultOutput 」のサーバーコントロールで作成しました。これはテキストボックスです。その後、このコントロールをビジュアルWebパーツに追加しました。SharePointサイトに展開しました。ページをレンダリングした後、そのテキストボックスのIDが表示された場合、idはct100_m_g_cb6c8826_a6e5_4169_a3ef_4bfc7dfb26c_ct100_ResultOutputに変更されています。サーバーコントロールのIDを取得するには、次のようにjqueryで使用できます。

$('<%= ResultOutput.ClientID %>')

ただし、この場合はIDが変更されているため、jqueryはそのIDを見つけることができません。その変更されたIDに実際のIDが表示されているかどうかを確認するために、のように使用$("[id*=ResultOutput]").lengthしました。値は1です。したがって、最終的にその要素が見つかりました。次に、そのテキストボックスにテキストを割り当てます。IDが動的に変化しているこの解決策を見つけることができません。

$("[id*=ResultOutput]").idが与えるならば、それは私に未定義を与えています。jqueryでそれをキャッチする方法は何ですか?テキストボックスコントロールにテキストを配置したいと思います。

4

2 に答える 2

1

IDを取得するにはattr('id')、jqueryでinを使用する必要があります。 $("[id*=ResultOutput]").attr('id')あなたにIDを与えます。そのテキストボックスコントロールのテキストを変更する場合は、以下のように使用する必要があります。

var myboxid = $("[id*=ResultOutput]").attr('id'); $('#'+myboxid).val("yourvalue");

于 2012-12-07T10:29:58.717 に答える
0

jQueryファクトリメソッドは通常、コレクション/配列を返します。

だから、以下のようにアクセスしてください

  $("[id*=ResultOutput]")[0].id

また、IDセレクターに#記号がないかどうかはわかりませんが、何も表示されません。含めて、もう一度やり直してください。

 $('#<%= ResultOutput.ClientID %>').
于 2012-12-07T10:29:30.207 に答える