如何在javascript中获取选中的单选按钮值

时间:2013-10-10 10:03:27

标签: javascript

我有一些单选按钮。我试图使用java脚本检查单选按钮值。但是我得到了未被发现的id的错误。我在html 5中执行以下代码。我没有得到这个值。

  function timeout()
  {
      if (document.getElementById["RadioButton1"].checked) 
         {
           choice = document.getElementById["RadioButton1"].value;
           alert('choice');

         }

     if (document.getElementById["RadioButton2"].checked)
        {
          choice = document.getElementById["RadioButton2"].value;
          alert('choice');
        }
     if (document.getElementById["RadioButton3"].checked)
       {
         choice = document.getElementById["RadioButton3"].value;
         alert('choice');

      }
    if (document.getElementById["RadioButton4"].checked)
      {
          choice = document.getElementById["RadioButton4"].value;
          alert('choice');
      }
   var c = document.getElementById("label1").value;
}

6 个答案:

答案 0 :(得分:1)

一组单选按钮应该都具有相同的名称。因此,获取集合,找到已检查的集合并读取其值:

function getValue(name) {
  var rbs = document.getElementsByName(name);

  for (var i=0, iLen=rbs.length, i<iLen; i++) {

    if (rbs[i].checked) {
      return rbs[i].value;
    }
  }
}

如果控件是一种形式(通常是这种形式),并且您有对该表单的引用,则可以使用以下命令获取该集:

var rbs = formRef[name];

答案 1 :(得分:1)

如果您对所有单选按钮使用相同名称(在相同的单选按钮组中),则

<input type="radio" id="RadioButton1" name="radio_group" value="1"/>
<input type="radio" id="RadioButton2" name="radio_group" value="2"/>
<input type="radio" id="RadioButton3" name="radio_group" value="3"/>

您可以使用jQuery在一行中获取所选(已选中的单选按钮值)。

var Val = $("input[name=radio_group]:checked").val();

答案 2 :(得分:1)

&#13;
&#13;
$(document).ready(function(){
		$('#btnsubmit').click(function(){
          var result = $('input[type="radio"]:checked');
          if (result.length > 0) {
			$('#result').html(result.val()+" is Checked");
		}else{
			$('#result').html(" No radio button is Checked");
		}
        });
	});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<input type="radio" name="gender"  value="Male"> Male
<input type="radio" name="gender" value="Female"> Female
<input type="submit" id="btnsubmit" value="submit">
<div id="result"></div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您的代码中可见的主要问题是语法错误。

document.getElementById是一个方法,而不是一个对象,所以你应该用parens来调用它:

// --------------------v--------------v
document.getElementById("RadioButton1").value

答案 4 :(得分:0)

希望这有助于伙伴。

$( "input" ).on( "click", function() {
 alert($( "input:checked" ).val() + " is checked!" );
});

<强> Fiddle

答案 5 :(得分:0)

这是对@yogi评论的回答( 我们如何为复选框实现相同的功能?

$(document).ready(function(){
    		$('#btnsubmit').click(function(){
              var result = $('input[type="checkbox"]:checked');
              if (result.length > 0) {
              	var resultstring = result.length +"checkboxes checked <br>";
              	result.each(function(){
              		resultstring += $(this).val()+" <br>"; //append value to exsiting var
              	});
    			$('#result').html(resultstring);
    		}else{
    			$('#result').html(" No checkbox  is Checked");
    		}
            });
    	});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<input type="checkbox" name="skill"  value="Java"> Java
    <input type="checkbox" name="skill" value="Jquery"> Jquery
    <input type="checkbox" name="skill" value="PHP"> PHP
    <input type="submit" id="btnsubmit" value="submit">
    <div id="result"></div>

相关问题