第二次出现复选框

时间:2011-11-07 12:24:39

标签: 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" name="second" value="2" >
    <br />
</div>

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

但它对我不起作用。

6 个答案:

答案 0 :(得分:1)

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;
    }
  }
};

在纯JS中你可以这样做:)

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您的选择器不正确:

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

应该是:

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

您也可以这样做(this jsfiddle中的证据):

jQuery('#form :checkbox[name="second"]:eq(1)');

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

答案 3 :(得分:0)

为每个复选框指定一个ID并执行类似

的操作
var $checkBox = $("#checkboxid");

答案 4 :(得分:0)

您的代码对我来说是正确的,您也可以这样做:

$('#form input:checkbox:last')

在这里摆弄http://jsfiddle.net/ephWb/

答案 5 :(得分:0)

$('#form')。find('input [type = checkbox]')。eq(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