| 分類:[ASP.NET (VB)]
はじめまして。 独学でWebアプリケーションを作成していますが 分からないことがありますので質問させて頂きます。
サーバコントロールの表示/非表示を JavaScriptとサーバ処理の両方で切り替えたいのですが、 上手くいきません。 以下に該当部分のみのコードを掲載します。
≪HTMLソース≫ <div> <asp:Button ID="btnTest" runat="server" Text="Button" /> <asp:Label ID="lblTest" runat="server" Text="Label" /> </div>
≪コードビハインド≫ Protected Sub btnTest_Click(sender As Object, e As EventArgs) Handles btnTest.Click If lblTest.Attributes("display") = "block" Then '表示状態なら非表示にする lblTest.Attributes.Add("display", "none") Else '非表示状態なら表示する lblTest.Attributes.Add("display", "block") End If End Sub
≪JavaScript(JQuery)≫ $(document).on('click', function (e) { // 領域外をクリックしたら非表示にする if (!$(e.target).closest('#lblTest').length){ $('#lblTest').hide(); } });
ボタン(btnTest)をクリックしたら ラベル(lblTest)の表示状態を切り替え、 ラベル以外の領域をクリックしたら非表示にする ということをしたいですが、 上記コードでは、ボタンをクリックしても 表示状態が切り替わりません(表示されたままです)
サーバコントロールのVisibleプロパティの使用も試しましたが、 JavaScriptで非表示にした際、VisibleプロパティがFalseに変わらず、 次にボタンをクリックしても表示状態になりません。
ご教授の程、よろしくお願い致します。 |