|
分類:[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に変わらず、
次にボタンをクリックしても表示状態になりません。
ご教授の程、よろしくお願い致します。
|