关于jquery用checkbox模拟radio问题jquery对象操作无效

郎泰平
2023-12-01

今天做毕设项目用checkbox模拟radio功能遇到一个问题,用jquery对象操作无法实现radio功能,而用Dom对象才可以,其中内部机理未知。

1.先上html的一些代码:


<input class="J_filter_option" checked="checked" type="checkbox" value="" data-cablevel="经济舱" data-
field="Classes" name="filter_Classes" />
<input class="J_filter_option" type="checkbox" value="CF" data-cablevel="公务/头等舱" data-
field="Classes" name="filter_Classes" />

注意两个黑体加粗的部分就是checkbox


2.重点来了,对应的js脚本,注意注释。


$('input[name=filter_Classes]').bind('click',function(){
//利用Dom对象操作
for(var i=0;i<$('input[name=filter_Classes]').length;i++){
$('input[name=filter_Classes]').get(i).checked=false;
}
$(this).get(0).checked=true;
 
//利用jquery对象操作 无效
$('input[name=filter_Classes]').each(function(){
$(this).removeAttr('checked');
});
$(this).attr('checked','checked');

});


这是我写的模拟radio功能的代码,只能用dom对象操作才有效果。


希望把我遇到的坑跟大家说一下,以免误入歧途。

 类似资料: