2011-08-03 6 views
0

DataGrid.I에서 두 개의 템플릿 열을 만들었습니다. 해당 열에 라디오 단추가 할당되었습니다. 첫 번째 라디오 단추에 대한 javascript 함수를 호출하여 단일 선택을 만들었습니다. 하지만, 두 번째 라디오 버튼에 대한 자바 스크립트 함수를 호출하여 단일 선택을 수행 할 수 없습니다. 또한, 서로 독립적으로 실행할 수 없습니다.DataGrid에서 열 두 개의 라디오 단추 사용

 <asp:TemplateColumn HeaderText=""> 
    <ItemTemplate> 
     <input type="radio" runat="server" id="rd1" onclick="SelectOne(this,'DataGrid')" VALUE="rd1" 
     NAME="RadioGroup1" /> 
    </ItemTemplate> 
    </asp:TemplateColumn> 
    <asp:TemplateColumn HeaderText=""> 

    <ItemTemplate> 
     <input type="radio" runat="server" id="rd2" onclick="test(this,'DataGrid')" VALUE="rd2" 
     NAME="RadioGroup2" />  
    </ItemTemplate> 
    </asp:TemplateColumn> 

자바 스크립트 코드 :

<script language="javascript"> 
    function SelectOne(rd1,DataGrid) 
    { 
    all=document.getElementsByTagName("input"); 
    for(i=0;i<all.length;i++) 
    { 
    if(all.type=="radio") 
    { 
    var count=all.id.indexOf(DataGrid+'__ctl'); 
    if(count!=-1) 
    { 
    all.checked=false; 
    } 
    } 
    } 
    rd1.checked=true; 
    } 
    </script> 

답변

0

는 서버 측 컨트롤과 같은 라디오 버튼을 실행해야합니까? runat = server를 제거하고 asp.net이 ID를 변경하지 못하게하기 때문에 같은 그룹에 속한 각 라디오 버튼 대신 고유 한 그룹 이름을 내 보내면 관리가 더 쉬울 수 있습니다. 그런 다음 서버 제어 값 등록 정보 대신 [[RadioGroupName]] 요청을 사용하여 선택한 값을 확인할 수 있습니다.

이렇게하면 그룹이 올바르게 작동하고 자바 스크립트에서 라디오 버튼을 더 간단하게 선택할 수 있습니다.

+0

우선 흥미로운 점에 대해 감사드립니다. 언급 한대로, 어떻게하면 자바 스크립트 코드에서 수정을 할 수 있습니까? – Selo

+0

자바 스크립트로 무엇을하려는 의도인지 명확하지 않았습니다. 귀하의 목표가 단순히 하나의 그룹으로 행동하도록하는 것이라면 모든 라디오 버튼의 이름 값을 동일하게 만들면 자바 스크립트가 불필요합니다. runat = "server"속성을 제거하여 수행 할 수 있습니다 이름을 동일하게 지정하십시오. –