Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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_Jquery - Fatal编程技术网

Javascript 复选框的第二次出现

Javascript 复选框的第二次出现,javascript,jquery,Javascript,Jquery,如何获取第二次出现的复选框? 以下是我尝试过的: <div id="form"> <label for="first">First</label> <input type="checkbox" name="first" value="1" > <br /> <label for="second">Second</label> <input type="checkbox

如何获取第二次出现的复选框? 以下是我尝试过的:

<div id="form">
    <label for="first">First</label>
    <input type="checkbox" name="first" value="1" >
    <br />
    <label for="second">Second</label>
    <input type="checkbox" name="second" value="2" >
    <br />
</div>

$('#form').find('input[type=checkbox]').eq(1)

弗斯特

第二
$('#form').find('input[type=checkbox')).eq(1)

但是它对我不起作用。

我认为您应该更改第二个复选框的名称。

您的选择器不正确:

$('#form').find('input[type=checkbox]').eq(1)
应该是:

$('#form').find('input[type="checkbox"]').eq(1)
您也可以这样做(证明):


(注意使用
:复选框
选择器,将
eq(1)
括在选择器和合并选择器-表单选择器中,
.find()
调用和
.eq()
调用)

给每个复选框一个id,然后执行以下操作

var $checkBox = $("#checkboxid");

您的代码在我看来是正确的,您还可以执行以下操作:

$('#form input:checkbox:last')
在这里拉小提琴

var foo=function(){
var inputs=document.getElementById('form').getElementsByTagName('input');
对于(var i=0;i$(“#form”).find('input[type=checkbox'))。等式(1)选择该项。之后必须执行某些操作。例如:

$('#form').find('input[type=checkbox]').eq(1).val('5'); //Changes the value to 5
$('#form').find('input[type=checkbox]').eq(1).hide(); //hides it

使用jquery 1.7在我的chrome中工作。你能给出更详细的错误解释吗?(另外,我只会使用
$(“#表单输入[type=“checkbox”]:eq(1)
$(“#表单:checkbox:eq(1)
)如果你正确命名复选框,你可以更具体地使用
$(“#表单:checkbox[name='second']))
。也许您很快就要运行您的代码了,看看它与
jQuery(“#form:checkbox[name=“second”]:eq(1)”)相比,看起来有点过头了。
;)在我看来,这似乎是一种过激的行为,每次我看到包括完整的jquery库在内的站点,并且使用了jquery能力的1%左右;)我宁愿看到这样的情况,而不是基于全局变量编写糟糕的原始JavaScript,以不适合JavaScript的方式编写。多亏了jquery,显示不称职的地方就少了顺便说一句,我喜欢你的代码——它比大多数JS代码都好,但我仍然认为这是一种过分的杀伤力(特别是如果OP已经在其他任务中使用jQuery,我想).无论如何,我给+1表示好的和正确的代码。@John:也许它对你有用,但你应该仔细看看,特别是关于属性值的这部分:引号是mandatory@Tadeck这是必须做到的,我同意,但从1.5安开始,它就起作用了。
var foo = function(){
  var inputs = document.getElementById('form').getElementsByTagName('input');
  for(var i=0; i<inputs.length;i++){
    var checkbox = inputs[i];
    if(checkbox.type == 'checkbox' && checkbox.name == 'second'){
      return checkbox;
    }
  }
};
$('#form').find('input[type=checkbox]').eq(1).val('5'); //Changes the value to 5
$('#form').find('input[type=checkbox]').eq(1).hide(); //hides it