2011-12-13 3 views
7

안녕하세요 여기에 코드가 있습니다. 많은 것을 시도했지만 선택한 라디오 버튼의 가치를 얻을 수 없었습니다. 알다시피 나는 다른 상황에서 그 가치를 얻을 필요가 있습니다.조치의 경우 라디오 버튼의 선택 값을 얻으십시오

<div style="display: inline-block"> 
     <div> 
       <a href="/Login/LogOut">Log Out</a><span> Welcome </span>YS User 1 noName  </div> 
     <br /> 
     <br /> 
     <br /> 
     <br /> 
     <input type="button" onclick="submitCreate();" value="New Survey" /><br /> 
     <input type="button" onclick="submitEdit();" value="Edit Survey" /><br /> 
     <input type="button" onclick="submitDelete();" value="Delete Survey" /><br /> 
     <input type="button" onclick="submitPreview();" value="Preview Survey" /> 
    </div> 
    <div style="display: inline-block"> 
<div> 
    <table class="MyTable"><thead><tr class="columnHead"><th scope="col"></th><th scope="col"><a href="/User/Index?sort=UserID&amp;sortdir=ASC">CreatedBy</a></th><th scope="col"><a href="/User/Index?sort=CreatedDate&amp;sortdir=ASC">Created Date</a></th><th scope="col"><a href="/User/Index?sort=IsRunning&amp;sortdir=ASC">Is Running</a></th></tr></thead><tbody><tr><td> <input name="selected" id="1" 

     type="radio" value="1" /></td><td>1</td><td>12/12/2011 3:43:57 PM</td><td>False</td></tr><tr class="altRow"><td> <input name="selected" id="2" 

     type="radio" value="2" /></td><td>1</td><td>12/13/2011 4:42:37 PM</td><td>False</td></tr><tr><td> <input name="selected" id="3" 

     type="radio" value="3" /></td><td>1</td><td>12/13/2011 6:27:38 PM</td><td>False</td></tr></tbody></table> 
</div> 
    </div> 
</body> 
</html> 
<script type="text/javascript"> 
    // var value = $$('input[name=selected]:checked')[0].get('value'); 
// var selectFoo; 
// $$('input[name=selected]').each(function (el) { 
//  if (el.checked == true) { 
//   selectFoo = el.value; 
//  } 
// }); 

    function getCheckedValue(radioObj) { 
     if (!radioObj) 
      return ""; 
     var radioLength = radioObj.length; 
     if (radioLength == undefined) 
      if (radioObj.checked) 
       return radioObj.value; 
      else 
       return ""; 
     for (var i = 0; i < radioLength; i++) { 
      if (radioObj[i].checked) { 
       return radioObj[i].value; 
      } 
     } 
     return ""; 
    }; 

    function submitCreate() { 
     var adress = "/User/CreateSurvey/"; 
     document.location = adress; 
    }; 

    function submitEdit() { 
     var adress = "/Den/Index/" + getCheckedValue('selected'); 
     document.location = adress; 
    }; 

    function submitDelete() { 
     var adress = "/User/DeleteSurvey/" + getCheckedValue('selected'); 
     document.location = adress; 
    }; 

    function submitPreview() { 
     var adress = "/User/PreviewSurvey/" + getCheckedValue('selected'); 
     document.location = adress; 
    }; 
</script> 
+0

가능한 중복 선택한 라디오 버튼의 값이 포함됩니다

var selectedOption = $("input:radio[name=option]:checked").val() 

HTML

<input type="radio" name="option" value="o1">option1</input> <input type="radio" name="option" value="o2">option2</input> 

자바 스크립트 [의 값을 얻는 방법 선택된 라디오 버튼?] (http://stackoverflow.com/questions/15839169/how-to-get-value-of-selected-radio-button) –

답변

9

당신은 입력 요소의 배열을 얻을 수 document.getElementsByName(<button_name>) 또는 document.getElementsByTagName("input")를 사용할 수 있습니다. 해당 요소를 반복하여 어느 것이 checked인지 확인하십시오. 내가 원하는 기능 코드의 수를 보자 선택합니다

<html> 
    <head> 
     <script type="text/javascript"> 
      function get_radio_value() { 
      var inputs = document.getElementsByName("selected"); 
      for (var i = 0; i < inputs.length; i++) { 
       if (inputs[i].checked) { 
       return inputs[i].value; 
       } 
      } 
      } 

      function onSubmit() { 
      var id = get_radio_value(); 
      alert("selected input is: " + id); 
      } 
     </script> 
    </head> 
    <body> 
     <form onsubmit="onSubmit();"> 
      <input name="selected" value="1" type="radio"/>1<br/> 
      <input name="selected" value="2" type="radio"/>2<br/> 
      <input name="selected" value="3" type="radio"/>3<br/> 
      <input type="submit" value="submit"/> 
     </form> 
    </body> 
</html> 
+0

감사합니다. 그것은 나를 도왔다. 그러나 나는 exaxtly 히 내가 보았던 것이 아니었다. 해당 코드의 문제점을 해결했습니다. 희망이 도움이 누군가가 ... function get_radio_value (for (var i = 0; i serhads

+0

@serhads 여러분이 document.getElementsByName()을 사용하여 입력 배열을 총 세 번 (for 루프 내에서 두 번) 얻으려면 다소 끔찍한 일입니다. DOM 조회는 한 번만 수행해야합니다. – sudocode

+0

정확한 대답을 위해 나의 답변을 업데이트합니다. – sudocode

2

: 여기

은 "선택"이름을 가진 라디오 버튼의 세트에서 확인 버튼의 값을 얻는 방법의 예입니다. 나를 위해 일한 것은 api.jquery.com에서 아래에 주어집니다. 희망이 다른 사람들을 돕는다.

변수 selectedOption는의 (예) O1 또는 O2

관련 문제