-2

我有一些单选按钮。我正在尝试使用 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;
}
4

6 回答 6

2

如果您对这样的所有单选按钮使用相同的名称(在同一个单选按钮组中)

<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();
于 2016-04-07T17:35:02.870 回答
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];
于 2013-10-10T10:17:20.437 回答
1

$(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");
		}
        });
	});
<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>

于 2017-02-10T00:58:58.433 回答
0

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

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

// --------------------v--------------v
document.getElementById("RadioButton1").value
于 2013-10-10T10:04:42.540 回答
0

希望这对朋友有帮助。

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

小提琴

于 2013-10-10T10:14:38.473 回答
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>

于 2017-02-10T01:25:12.563 回答