感谢您阅读
我以为可以使用find(),但是不能使其工作.我知道我可以添加ID或类名,但想知道当前的标记.
谢谢
这是HTML
<input name="keywordCheckBox" type="checkBox" value="S" /> <input name="keywordCheckBox" type="checkBox" value="C" /> <input name="keywordCheckBox" type="checkBox" value="A" />
和js
<script language="Javascript" src="javascript/jquery-1.2.6.min.js"></script> <script type="text/JavaScript"> $(function(){ $('[name="keywordCheckBox"]').bind("click",function() { if($(this).attr("checked") == true) { switch(this.value) { case "A": var $_this = $(this) ; $('[name="keywordCheckBox"]').each(function() { if($(this).val() != $($_this).val()) { $(this).attr("checked",false); } }); break ; default: DOESN'T WORK --> $('[name="keywordCheckBox"]').find('[value="A"]').attr("checked",false);} } // END Switch } // END If }); // End BIND }); // End eventlistener </script>
解决方法
您应该可以链接属性选择器:
$('input[name="keywordCheckBox"][value="A"]').attr("checked",false);
对于名称为keywordCheckBox的输入和A的值,将检查为false.
$('input[name="keywordCheckBox"][value!="A"]').attr("checked",false);
对于值为不为A的名称为keywordCheckBox的输入,将设置为false.
编辑
我刚刚在Firefox / Macintosh中使用最新的jQuery测试了以下内容.工作正常.你使用什么版本的jQuery?
$(document).ready( function() { $('input[name=keywordCheckBox]').bind( 'click',function() { if (this.checked) { if (this.value == 'A') { $('input[name="keywordCheckBox"][value!="A"]') .attr("checked",false); } else { $('input[name="keywordCheckBox"][value="A"]') .attr("checked",false); } } }); });