0

我有一个包含复选框的表单,我想检查第一个是否被用户选中:

<form id= 'other_langs'>
    <input type= 'checkbox' name= 'yes'> I speak other languages <br>
    <input type= 'checkbox' name= 'no'> I do <b>not</b> speak any other language <br>   
</form>

我写了jQuery函数

$('#other_langs').click(function(){
  if(('#other_langs').first().prop('checked') == true){alert('ok');}
});

警报(或其他)不会出现。我也试过 .is(':checked') 是一样的。我也试过

if(('#other_langs input[name="yes"]').prop('checked') == true){alert('ok');}

我正在使用 jQuery 版本 1.9.1 并尝试过 Firefox 和 Chrome。

4

2 回答 2

0

$您在第二个示例中错过了(在第一个示例中也是如此,但方法错误)-

if($('#other_langs input[name="yes"]').prop('checked') == true){
  alert('ok');
}

演示---> http://jsfiddle.net/zKkXp/

你可以让你的第一个例子像这样工作 -

if($('#other_langs input').first().prop('checked') == true){
  alert('ok');
}

演示--> http://jsfiddle.net/zKkXp/1/

于 2013-06-16T14:32:30.093 回答
0

这样做时:

$('#other_langs').first()

您正在检查第一个#other_langs是否被选中。#other_langs是一种形式,您需要这样做.children() 才能获得#other_langs.

 $('#other_langs').children().first()
于 2013-06-16T14:37:28.970 回答