2

OK、私はJQueryを初めて使用します.asp:Literalコントロールを含むモーダルがあります。リテラルは、モーダルをアクティブにするためにクリックされたリンクによって制御されます。だから、リンクのリテラル値 onClick を与えるのと同じくらい簡単だと思っていましたが、そうではありません。

リテラルの値はページの読み込み時に設定されるので、リンクがクリックされたときに変更されるように更新パネルに配置する必要があります。

または、次のようになる可能性があります。javascript のように、JQuery onClick を使用してリテラルの値を動的に設定する必要があります。

ご協力ありがとうございました。

アップデート

モーダルの HTML は次のとおりです。

<div class="modal-holder" id="landing-page-modal" style="display:none">
  <div class="modal">
    <div class="modal-t">
      <a href="#" class="modal-close">
        <img src="images/modal-close.gif" border="0" alt="" />
      </a>
      <div class="modal-scroll">
        <a href="#" class="modal-top-arrow">
          <img src="images/modal-arr-t.gif" alt="" />
        </a>
        <a href="#" class="modal-bottom-arrow">
          <img src="images/modal-arr-b.gif" alt="" />
        </a>
      </div>
      <div class="modal-b">
        <div class="modal-content">
          <h2><asp:Label ID="lblModal" Text="Title" runat="server" /></h2>
          <p>
            <asp:Literal ID="litModal" Text="Test Data Lives Here For Now" runat="server" />
          </p>
        </div>
      </div>
    </div>
  </div>
</div>

リンクがクリックされたときにモーダルをアクティブにする JQuery は次のとおりです。

$('.article a, #menu a, #features a').click(function(){
  $('.modal-holder').css({'display': 'block'});
  return false;
});

$('.modal-close').click(function(){ 
  $('.modal-holder').css({'display': 'none'}); 
});

モーダルがアクティブになる前に、モーダル内の「litModal」コントロールの値を変更する方法を知りたいです。

4

2 に答える 2

1

Okay so you have a literal in your <p>. That means you have no direct selector/handle to it, like you would when it was a label with an ID.

But you can say it is the <p> inside the <div class="modal-content">, all part of the element with ID landing-page-modal:

"#landing-page-modal div.modal-content p"

So you need to modify your function that makes the whole thing visible:

$('.article a, #menu a, #features a').click( function(clickTarget){
  // set the text of the <p> to whatever you like. I took 
  // the text of the element that was clicked by the user.
  $('#landing-page-modal div.modal-content p').text( $(clickTarget).text() ); 

  // now make the whole thing visible
  $('#landing-page-modal').css({'display': 'block'});
  return false;
});
于 2008-11-24T08:34:15.350 に答える
0

リンクがクリックされたときにクライアント側でモーダルを変更する場合は、リンクの onClick ハンドラーでモーダルを設定する必要があります。モーダル テキストは、クリックされたアンカー タグに基づいていると仮定します。 litModalクライアント側でスパンに変わるので、そのように見つけます。

    $('.article a, #menu a, #features a').click(function(anchor){
             var val = jQuery(anchor).text();
            // modify val as needed
            $('span#litModal').text(  val );
            $('.modal-holder').css({'display': 'block'});
            return false;
    });
    $('.modal-close').click(function(){ $('.modal-holder').css({'display': 'none'}); });

注: 1 ページに 1 つしかないと仮定しています。そうでない場合は、問題のリンクに適用される特定のモーダルを参照する方法を理解する必要があります。

于 2008-11-24T08:21:05.067 に答える