2017-10-14 11 views
0

2つのタイプのユーザー(temp/permanent)の登録ページがあり、各ユーザーにフォームの一部のみを表示する必要があります。私はjqueryを使用して特定のdiv要素を隠すことでこれを達成しようとしています。問題は私のDIV要素が一時的に隠され、1秒以内に再び現れることです。私は複数のソリューションを見てみましたが、どれもうまくいかないようです。これは私のコードです。Asp.net - Jqueryが部門を隠すために2回クリックする

<script> 
     $(document).ready(function() { 
      $("#<%=releasetype.ClientID%>").click(function() { 
       var reltype = $("input[name='<%=releasetype.UniqueID%>']:radio:checked").val(); 
       if (reltype == "Temporary") { 
        document.getElementById('pm').style.display = 'none'; 
       } else if (reltype == "Permanent") { 
        document.getElementById('pm').style.display = 'block'; 
       } 
      }); 

     }); 
</script> 

の.aspx

<asp:RadioButtonList ID="releasetype" cssclass="radio" runat="server" AutoPostBack="True" RepeatDirection="Vertical"> 
       <asp:ListItem>Temporary</asp:ListItem> 
       <asp:ListItem>Permanent</asp:ListItem> 
</asp:RadioButtonList> 

      <div id="pm" class="form-horizontal"> 
<asp:Label ID="Label8" runat="server" Text="PrimaryID" Font-Bold="True"></asp:Label> 
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>    
      </div> 

iがevent.preventDefault()を使用してみました。 & falseを返します。私のコードで。しかし、両方の方法でページを更新することはありませんでした。

+0

簡単に再現できないサーバー側のコードではなく、実際のHTMLコードを表示してください。 [mcve] – CBroe

+0

こんにちは、ASP .NET Webフォームを使用して、ラジオボタンリストのAutoPostBackプロパティfalseを設定しました –

+0

vigneshを試しましたが、修正しませんでした。 - 実際にはfalseに設定しようとしました。まだ同じです – rakesh

答えて

0

私は2つのイベントを呼んでいたし、それが不正行為

 $(document).ready(function() { 
    $("#<%=releasetype.ClientID%>").click(function() { 

ページのロードや問題を解決し、ボタンのクリックでどちらか一つだけを呼び出しを引き起こしたものでした。

関連する問題