Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-如果未选择任何单选按钮,请选中第一个_Javascript_Radio_Checked - Fatal编程技术网

Javascript-如果未选择任何单选按钮,请选中第一个

Javascript-如果未选择任何单选按钮,请选中第一个,javascript,radio,checked,Javascript,Radio,Checked,我是JavaScript的初学者。我的动态页面上有几个单选按钮,我想创建一个脚本,以实现以下功能: HTML: <input type="radio" id="elemainfoto"> <input type="radio" id="elemainfoto"> <input type="radio" id="elemainfoto"> var radio = '#elemainfoto', if(radd.value

我是JavaScript的初学者。我的动态页面上有几个单选按钮,我想创建一个脚本,以实现以下功能:

HTML:

    <input type="radio" id="elemainfoto">
    <input type="radio" id="elemainfoto">
    <input type="radio" id="elemainfoto">
    var radio = '#elemainfoto',
    if(radd.value == 0) {
        radd.checked the first radio element,
    } else {
        keep the way it is,
    }

如果没有标记任何单选元素,则标记第一个必填项。

在纯JS中类似这样的内容(我将id更改为类id应该是唯一的):


我希望默认情况下选择第一个项目,然后您应该使用HTML而不是javascript,请注意,您不应该使用具有相同id的两个HTML元素。在您的情况下,您应该使用类替换和/或为元素添加唯一id

<input type="radio" class="elemainfoto" id="item1" checked>
<input type="radio" class="elemainfoto" id="item2">
<input type="radio" class="elemainfoto" id="item3>


在html中多次使用相同值的“id”属性是无效的,您应该使用“name”作为输入

HTML:

<input type="radio" name="elementinfoto" value="1" />
<input type="radio" name="elementinfoto" value="2" />
<input type="radio" name="elementinfoto" value="3" />

JavaScript:

 var radio = document.getElementsByName('elementinfoto'); // get all radio buttons
 var isChecked = 0; // default is 0 
 for(var i=0; i<radio.length;i++) { // go over all the radio buttons with name 'elementinfoto'
   if(radio[i].checked) isChecked = 1; // if one of them is checked - tell me
 }

 if(isChecked == 0) // if the default value stayed the same, check the first radio button
   radio[0].checked = "checked";
var radio=document.getElementsByName('elementinfoto');//获取所有单选按钮
var isChecked=0;//默认值为0

对于(var i=0;i单选按钮组是通过赋予单选按钮相同的名称形成的。ID是可选的,通常不需要。如果提供了ID,则每个按钮应具有不同的值。并且按钮应具有一个值,以便有一个指向其存在的点

要在默认情况下选择一个按钮,只需设置所选按钮的选中属性:

<form id="foo">
  <input type="radio" name="elemainfoto" valu="0" checked>0<br>
  <input type="radio" name="elemainfoto" valu="1">1<br>
  <input type="radio" name="elemainfoto" valu="2">2<br>
  <input type="reset">
</form>
如果确实要检查是否选中了一个按钮,请在表单中添加如下按钮:

  <input type="button" value="Check buttons" onclick="checkButtons(this);">

然后,checkButtons功能可以是:

function checkButtons(el) {
  var buttons;
  var form = el && el.form;

  if (form) {
    buttons = form.elemainfoto;

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

      // If a button is checked, return its value
      if (buttons[i].checked) {
        return buttons[i].value;
      }
    }
  }
  // Otherwise, try to check the first one and return undefined
  buttons && buttons[0].checked;
}
功能检查按钮(el){
var按钮;
var form=el&&el.form;
如有需要(表格){
按钮=form.elemainfoto;

对于(var i=0,iLen=buttons.length;i您需要知道如何使用单选元素。Id在html页面中是唯一的。您应该为每个单选元素指定相同的名称

<input type="radio" name="elemainfoto" id="first" value="1" />
element 1
<input type="radio" name="elemainfoto" id="second" value="2" />
element 2
<input type="radio" name="elemainfotor" id="thrid" value="3" /> 
element 3
您可以对每个单选按钮单击执行操作,以了解选中的项目

$(function(){
  $('input[type="radio"]').click(function(){
    if ($(this).is(':checked'))
    {
      alert($(this).val());
    }
  });
});
如果要对每个单选按钮执行单独的操作,请尝试以下代码

$(function () {
    $('input[type="radio"]').click(function () {
        if ($(this).is(':checked')) {
            if ($(this).val() == '1') alert('first radio element is checked');
            if ($(this).val() == '2') alert('second radio element is checked');
            if ($(this).val() == '3') alert('third radio element is checked');
        }
    });
});

查看此FIDDLE

文档。querySelectorAll('[type=“radio”]')[0]。checked=true
?Ow..并且您不能有重复的ID,因此您的HTML无效。有效的HTML页面不能有重复的ID。此代码不起作用。将ID更改为class,并将伪代码更改为实际语法。您应该到达(非常接近)对于您的解决方案,您想要一种默认的行为吗?是的,Amit Joki。Jquery很酷!只需将第一种设置为默认选择,无需脚本。单选按钮是动态生成的,因此我无法执行此操作。选中的属性是a,它没有任何值。如果需要,则为(这仅适用于XHTML,它不在web上使用)值必须与属性名称相同,即
checked=“checked”
@user2697222当然,您可以在创建按钮后设置checked属性或defaultChecked属性。动态生成时是否会选择不同的选项(可能基于数据库值?)
…@War10ck我可以,但这会降低事件的效率,因为在
的内部,如果
您需要重新选择收音机收藏。啊,我知道您现在在做什么。这很聪明。我以前从未使用过。每天都学习一些新的东西。谢谢,伙计。:)
<input type="radio" name="elemainfoto" id="first" value="1" />
element 1
<input type="radio" name="elemainfoto" id="second" value="2" />
element 2
<input type="radio" name="elemainfotor" id="thrid" value="3" /> 
element 3
<input type="radio" name="elemainfoto" id="first" value="1" checked="true"/>
    element 1
$("input:radio[name=elemainfoto]:first").attr('checked', true);
$(function(){
  $('input[type="radio"]').click(function(){
    if ($(this).is(':checked'))
    {
      alert($(this).val());
    }
  });
});
$(function () {
    $('input[type="radio"]').click(function () {
        if ($(this).is(':checked')) {
            if ($(this).val() == '1') alert('first radio element is checked');
            if ($(this).val() == '2') alert('second radio element is checked');
            if ($(this).val() == '3') alert('third radio element is checked');
        }
    });
});