2017-03-20 63 views
1

我想讓我的單選按鈕關閉/使用jQuery關閉,但我堅持一個問題,我的單選按鈕錯過了點擊。我點擊它,有時會改變它的檢查值,有時不會。其實我發現在IE瀏覽器中它比Firefox更好(它允許我只更改一次)ASP.NET中的JQuery和單選按鈕。點擊沒有註冊

我使用母版頁和單選按鈕位於我的內容頁面上。這裏是我放在<asp:Content ...>後面的代碼。我還用引導CSS我的jQuery的版本是1.10.2

<script type="text/javascript"> 
    $(document).ready(function() { 
     //set radio button ON 
     $("#<%=statusActive.ClientID%>").prop("checked", true); 

      //Assign click event to this specific radio button 
      $("#<%=statusActive.ClientID%>").click(function() { 

       //Get actual value of checked property and store it into local variable  
       var s = $("#<%=statusActive.ClientID%>").prop("checked"); 

       //If it was true set it to false and vice versa 
       $("#<%=statusActive.ClientID%>").prop("checked", !s); 

       //Tell me what value did you set 
       $("#<%=txtName.ClientID%>").val(!s); 

      }); 

     }); 
</script> 

我的HTML代碼

$(document).ready(function() { 
     $("#MainContent_statusActive").prop("checked", true); 

      $("#MainContent_statusActive").click(function() { 
       var s = $("#MainContent_statusActive").prop("checked"); 
       $("#MainContent_statusActive").prop("checked", !s); 
       $("#MainContent_txtName").val(!s); 
      }); 
... 
<input name="ctl00$MainContent$txtName" type="text" id="MainContent_txtName" class="form-control" /> 
<span class="radio-inline"><input id="MainContent_statusActive" type="radio" name="ctl00$MainContent$statusActive" value="statusActive" /><label for="MainContent_statusActive">Active</label></span> 

你有什麼想法應該是不正確的?

回答

0

您正在使用單選複選框。如果要使用RadioButton for true/false值,則要使用兩個。否則,我想建議您使用複選框

enter image description here

<asp:RadioButton ID="ActiveRadioButton" runat="server" GroupName="Status" Text="Active" />   
<asp:RadioButton ID="InactiveRadioButton" runat="server" GroupName="Status" Text="Inactive" /> 
<asp:CheckBox ID="StatusCheckBox" runat="server" Text="Status" /> 

<asp:TextBox ID="txtName" runat="server" /> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     //set radio button ON 
     $("#<%=ActiveRadioButton.ClientID%>").prop("checked", true);     
     $("#<%=ActiveRadioButton.ClientID%>,#<%=InactiveRadioButton.ClientID%>").click(function() {     

      var active = $('#<%= ActiveRadioButton.ClientID %>').is(":checked"); 
      var inactive = $('#<%= InactiveRadioButton.ClientID %>').is(":checked"); 

      console.log("active: " + active + ", inactive: " + inactive); 
     }); 


     $("#<%=StatusCheckBox.ClientID%>").click(function() { 

      var value = $('#<%= StatusCheckBox.ClientID %>').is(":checked"); 
      console.log("checkbox value: " + value); 
     }); 

    }); 
</script> 
+0

你是完全正確的。謝謝。 – Bendom