2009-06-24 4 views

答えて

0

私はあなたが使用しているシステムについて何も知らないが、私はこれを行うだろうダウン低汚いやり方がある...

スティックそれ自身の空白ページでユーザーコントロール。

チェックボックスをクリックすると、JQueryにユーザコントロールがあるページのHTMLコンテンツを取得させてdivに貼り付けるようにします。

これは、呼び出し元のページではあまりにもきれいではないHTMLになります。

これはasp:CheckBoxかhtml入力ですか?

+0

私はASP.NETユーザーコントロールを使用しています。 – Greens

0

あなたはこのような何かを探しています:

$(function(){ 
    $('#Control').hide(); //initially hide the control 
    $('#checkbox').click(function(){ // bind the checkbox click event 
     if ($('#checkbox').attr('checked')) { 
      $('#Control').show(); 
     } 
    }); 
}); 


<mycontrol:UC id="Control" runat="server" /> 
+0

asp.netを使用しているので、ASP.NETはIDの名前を変更する傾向があるため、IDセレクタの代わりにクラス名セレクタを使用することをお勧めします – TStamper

+0

サイズやページ、ユーザーの接続速度に応じてあなたが隠すコントロールのフラッシュを得るかもしれません。代わりにCSSで非表示にしてください。 –

+0

trueこれはユーザーの接続の速度に依存しますので、supriseサスペンスを維持したい場合はcssでスタイルとして非表示にしてください: – TStamper

0

あなたは新しいオブジェクトを作成したい場合は、あなたがこれを行うことができます:

var checkbox = $("<input type='checkbox' ... />"); 
$('div#someID').append(checkbox); 

あなたはおそらく取得したいように聞こえるけどAJAX呼び出しから追加するデータ。私はその質問からかなり分かりません。

$(function() { 
    $('#checkbox').click(function() { 
     $('#control').toggle(); 
    }); 
}); 

<mycontrol:UC id="control" runat="server" /> 
0

。 1つのAjax呼び出しから複数のコントロールを返すことができます。 シンプルな表示/非表示コントロールのシナリオでは、ページ上に隠れたコントロールをレンダリングするだけで十分です。あなたのコントロールが大きい場合やユーザーの操作のために変更された場合は、サーバー上でコントロールをレンダリングし、jsを使用してDOMを更新することをお勧めします。あなたはDOMの更新のためのjQueryを使用していて、IDの使用による制御を見つけたい場合 :

$("[id$=controlId]") 

これはさえIDへのasp.netプレフィックスを使用してコントロールを探します。 私は簡単にプラグインを使用できるようにするタコナイトプラグインのための簡単なc# wrapperに取り組んでいます(サンプルウェブサイトは近日公開予定です)。

+0

これをチェックボックスリストでどのように実装しますか? – Greens

0

私はjQueryのtaconiteプラグインを使用する部分です:あなたはあなたのような何かにTStamperのコードを短縮することができ、デフォルトではCSSでコントロールを非表示と仮定

関連する問題