2014-07-23 2 views
0

이것은 내 라디오 버튼 시나리오의 문제를 해결하기위한 마지막 시도입니다. 하나의 단추 만 선택하는 방법을 알 수 없습니다. (그런데 RadioButtonList를 사용할 수 없기 때문에 블럭 안의 HTML 코드를 허용하지 않으므로 나를 적합하지 않습니다.)jQuery를 추가 한 후 선택한 라디오 버튼의 값이 비어 있습니다.

<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource_BGlist"> 
     <ItemTemplate>     
      <input id="Radio1" name="BG_list" type="radio" runat="server" value='<%# Eval("BG_fileName") %>'/> 
      <img alt="" style="width:150px" src="/Images/Editors/BG/<%# Eval("BG_fileName") %>">     
     </ItemTemplate> 

    </asp:ListView> 

불행하게도리스트 뷰 메커니즘은 내가 선택할 수 있다는 것을 의미 장면 뒤에 각 라디오 버튼에 다른 이름을 할당 다음과 같이

는 내가있는 ListView에서 선택한 사진과 라디오 버튼의 목록을 가지고 여러 라디오 버튼. 하나의 버튼 만 선택할 수 있기를 원합니다. 그래서 나는 다음과 같은 스크립트를 추가 :

<script type="text/javascript"> 
    var inputElements = document.getElementsByTagName("input"); 
    for (var inputName in inputElements) { 
     var input = inputElements[inputName]; 
     if (input.type === "radio") { 
      input.name = "BG_list"; 
     } 
    } 
가 지금은 하나 개의 버튼을 선택할 수 있습니다하지만 그것은 코드 숨김에서 또 다른 문제를 만들었습니다. 선택한 버튼의 값은 항상 비어 있습니다. 왜? 누구든지 오류를 볼 수 있습니까?

클릭 한 하나를 제외한 모든 radio 버튼을 해제 어디 jQuery를 아래 참조, jQuery를 사용할 수 있습니다 BEHIND

foreach (ListViewItem itemRow in this.ListView1.Items) 
       { 
        //RadioButton radioBtn = (RadioButton)itemRow.FindControl("Radio1"); 
        var radioBtn = (HtmlInputRadioButton)itemRow.FindControl("Radio1"); 

        if (radioBtn.Checked) 
        { 
         // Do Stuff 
         //Response.Write(radioBtn.Value);      
        } 
       } 

답변

1

CODE :

$(document).ready(function(){ 
    // bind change event for radio button 
    $('input[type=radio]').change(function(){ 
     // remove checked attribute for all radio button except the current one. 
     $('input[type=radio]').not(this).removeAttr('checked'); 
    }); 
}); 

Demo

+0

그것은 작동 .... .THANKS – Gloria

+0

도와 드리겠습니다 :) –

관련 문제